0

Я использую предварительный выпуск Ado.Net и не могу понять, как я использую это с помощью службы данных Ado.Net.Ado.Net Entity Framework Code только с помощью службы данных Ado.Net

Код для ObjectContext

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")); 
     } 

И код Ado.Net Service Data

[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; 
     } 
    } 

Проблема в том, что Ado.Net Service Data ожидает конструктор не параметры. И если я предоставляю конструктор, что я напишу базовому конструктору?

И даже если я указать базовый конструктор контекст не будет полным без BuildContext

Что я пропустил или не Entity Framework «только код» не поддерживается ADO.NET Data Service в этом предварительном релизе ?

ответ

1

Вы можете переопределить защищенный метод: CreateDataSource() в вашем классе dataservice и можете вернуть экземпляр ObjectContext. Это позволяет сценарию, в котором базовый конструктор поставщика (в данном случае EF) принимает кучу конструкторов.

Надеюсь, это поможет.

Pratik

Смежные вопросы