首页 文章

EF4:仅序列化Poco对象的预先加载的导航属性

提问于
浏览
0

我正在使用返回POCO对象的WCF服务 . 我的导航属性标记为虚拟以启用延迟加载/代理 . 我还使用[ApplyDataContractResolver]模式将代理序列化为父POCO对象 . 一切正常,直到我向关系的两侧添加导航属性,这会导致循环引用 - 导致它无法正确序列化 . 有没有办法告诉序列化程序只序列化急切加载(使用.include())导航属性并忽略尚未加载的导航属性而不是填充它们?

1 回答

  • 2

    除非您manually define that,否则无法仅序列化预先加载的属性 . 此外它不会帮助你,因为你仍然可以有循环引用的渴望加载实体 . 如果你想通过WCF发送POCO,你应该关闭延迟加载,因为你永远不会避免延迟加载不必要的属性,除非你通过属性永久地排除所有这些属性,但在这种情况下,它们也不会在急切加载后被序列化 .

相关问题