如何使用Code First生成的上下文类与WCF DataServices?
我可以将POCO模板生成的上下文类与WCF DataServices一起继承自ObjectContext,并在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 :(得分:0)
您可以通过IObjectContextAdapter接口访问ObjectContext来完成此任务。
protected override NorthwindEntities CreateDataSource()
{
var ctx = new NorthwindEntities();
((IObjectContextAdapter)ctx).ObjectContext
.ContextOptions.ProxyCreationEnabled = false;
return ctx;
}