2010-12-10 3 views
0

Как использовать Code Первый сгенерированный класс контекста с WCF DataServices?Как использовать Code Первый сгенерированный класс контекста с WCF DataServices?

я мог бы использовать шаблон ПОКО сгенерированный контекст класс, унаследованный от ObjectContext в сочетании с WCF DataServices со следующими конфигурациями в службы WCF:

public class WcfDataService : DataService<NorthwindEntities> 
    { 
     public static void InitializeService(DataServiceConfiguration config) 
     { 
      config.SetEntitySetAccessRule("*", EntitySetRights.AllRead); 
      config.SetServiceOperationAccessRule("*", ServiceOperationRights.All); 
      config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2; 
     } 

     protected override NorthwindEntities CreateDataSource() 
     { 
      var ctx = new NorthwindEntities(); 
      ctx.ContextOptions.ProxyCreationEnabled = false; 
      return ctx; 
     } 
    } 

Однако контекст класса, который генерируется CTP5 не представляется возможным в том же образом, потому что это не наследуется от ObjectContext, а наследует его от DbContext.

Как решить эту проблему?

Заранее спасибо

ответ

0

Вы можете сделать это, обратившись к ObjectContext через интерфейс IObjectContextAdapter.

protected override NorthwindEntities CreateDataSource() 
{ 
    var ctx = new NorthwindEntities(); 
    ((IObjectContextAdapter)ctx).ObjectContext 
     .ContextOptions.ProxyCreationEnabled = false; 
    return ctx; 
} 
+1

Спасибо за ваш ответ ckal, но он не работает. Я нашел решение здесь http://blogs.microsoft.co.il/blogs/gilf/archive/2010/12/08/entity-framework-feature-ctp5-released.aspx Однако это еще не окончательный способ решения этот вопрос, и я понял, что ему нужно некоторое обходное решение от команды служб данных WCF, как указано выше в блоге – Ray 2010-12-12 07:00:14

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