Frage

Im die Pre-Release von Ado.Net verwendet und kann nicht verstehen, wie ich das mit Ado.Net Data Service.

Der Code für die Object

 public class TradingContext : ObjectContext
    {
        private static TradingContext _Context;

        public static TradingContext Current
        {
            get 
            {
                if (_Context == null)
                {
                    _Context = BuildContext();
                }
                return _Context;
            }    
        }

        public TradingContext(EntityConnection conn) : base(conn)
        {

        }

        public IObjectSet<Message> Messages
        {
            get { return CreateObjectSet<Message>(); }
        }

        private static TradingContext BuildContext()
        {
            var builder = new ContextBuilder<TradingContext>();
            builder.Entity<Message>().Property(x => x.MessageId).IsIdentity();
            builder.Entity<Message>().Property(x => x.Xml).HasStoreType("xml");

            return builder.Create(new SqlConnection(@"connection string information"));
        }

Und der Code für Ado.Net Data Service

 [System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)]   
    public class Trading : DataService<TradingContext>
    {
        // This method is called only once to initialize service-wide policies.
        public static void InitializeService(DataServiceConfiguration config)
        {
            config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
            config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
        }
    }

Das Problem ist, dass Ado.Net Data Service einen Konstruktor ohne Parameter erwarten. Und wenn ich biete einen Konstruktor, was ich an den Basiskonstruktor schreiben?

Und selbst wenn ich den Basiskonstruktor geben Sie den Kontext ist nicht vollständig ohne BuildContext

Was habe ich verpasst oder nicht Entity Framework "Code nur" nicht mit Ado.Net Data Service in dieser Pre-Release unterstützt?

War es hilfreich?

Lösung

Sie können die geschützte Methode außer Kraft setzen: Create () auf dem Datendienst-Klasse und kann die Instanz des Object zurückzukehren. Dies ermöglicht es das Szenario, in dem der zugrunde liegenden Anbieter Konstruktor (in diesem Fall EF) ein Bündel von Konstrukteuren nimmt.

Hope, das hilft.

Danke Pratik

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top