Entity framework 4 如何将代码首先生成的上下文类与WCF数据服务一起使用?
如何将代码首先生成的上下文类与WCF数据服务一起使用 我可以将从ObjectContext继承的POCO模板生成的上下文类与WCF数据服务结合使用,并在WCF服务中进行以下配置:Entity framework 4 如何将代码首先生成的上下文类与WCF数据服务一起使用?,entity-framework-4,Entity Framework 4,如何将代码首先生成的上下文类与WCF数据服务一起使用 我可以将从ObjectContext继承的POCO模板生成的上下文类与WCF数据服务结合使用,并在WCF服务中进行以下配置: public class WcfDataService : DataService< NorthwindEntities > { public static void InitializeService(DataServiceConfiguration config)
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;
}
}
公共类WcfDataService:DataService
{
公共静态void InitializeService(DataServiceConfiguration配置)
{
config.SetEntitySetAccessRule(“*”,EntitySetRights.AllRead);
config.SetServiceOperationAccessRule(“*”,ServiceOperationRights.All);
config.DataServiceBehavior.MaxProtocolVersion=DataServiceProtocolVersion.V2;
}
受保护的覆盖NorthwindEntities CreateDataSource()
{
var ctx=新的NorthwindEntities();
ctx.ContextOptions.ProxyCreationEnabled=false;
返回ctx;
}
}
然而,CTP5生成的上下文类不可能以同样的方式实现,因为它不是从ObjectContext继承的,而是从DbContext继承的
如何解决这个问题
提前感谢您可以通过IObjectContextAdapter接口访问ObjectContext来实现这一点
protected override NorthwindEntities CreateDataSource()
{
var ctx = new NorthwindEntities();
((IObjectContextAdapter)ctx).ObjectContext
.ContextOptions.ProxyCreationEnabled = false;
return ctx;
}
谢谢你的回答,但它不起作用。然而,我在这里找到了解决方案,它仍然不是解决这个问题的最终方法,我意识到它需要WCF数据服务团队的一些变通方法,正如上面提到的