2010-12-10 38 views
0

如何使用Code First生成的上下文類與WCF DataServices?如何將Code First生成的上下文類與WCF DataServices一起使用?

我可以用從ObjectContext的結合繼承與WCF DataService的POCO模板生成的上下文類具有以下在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

您可以通過IObjectContextAdapter接口訪問ObjectContext的做到這一點。

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

相關問題