小编典典

首先关闭EF代码的CTP5 ProxyCreationEnabled的不利之处是什么

c#

我的WCF服务可以从代码的第一个模型回归类的唯一方法是通过设置ProxyCreationEnablefalse使用下面的代码。

((IObjectContextAdapter)MyDb).ObjectContext.ContextOptions.ProxyCreationEnable = false;

这样做的负面后果是什么?一个好处是,我至少可以将这些动态类型序列化,以便可以使用WCF通过电线发送它们。


阅读 342

收藏
2020-05-19

共1个答案

小编典典

动态代理用于更改跟踪和延迟加载。当WCF尝试序列化对象时,通常会关闭并处置相关的上下文,但是导航属性的序列化将自动触发延迟加载(在封闭的上下文上)=>异常。

如果您关闭延迟加载,则需要对所有要使用的导航属性使用快速加载(在ObjectQuery上包含)。跟踪更改不适用于WCF,它仅适用于修改附加到ObjectContext的实体。

2020-05-19