Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF4:仅序列化Poco对象的已加载导航属性_C#_Entity Framework 4_Poco - Fatal编程技术网

C# EF4:仅序列化Poco对象的已加载导航属性

C# EF4:仅序列化Poco对象的已加载导航属性,c#,entity-framework-4,poco,C#,Entity Framework 4,Poco,我使用的是返回POCO对象的WCF服务。我的导航属性被标记为虚拟以启用延迟加载/代理。我还使用[ApplyDataContractResolver]模式将代理序列化为父POCO对象。在我将导航属性添加到关系的两侧之前,一切都正常工作,这会导致循环引用,导致它无法正确序列化。有没有办法告诉序列化程序只序列化已加载的导航属性(使用.include()),而忽略尚未加载的导航属性,而不是填充它们 除非您愿意,否则无法仅序列化已加载的属性。此外,它也不会对您有所帮助,因为您仍然可以使用循环引用加载急切的

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

除非您愿意,否则无法仅序列化已加载的属性。此外,它也不会对您有所帮助,因为您仍然可以使用循环引用加载急切的实体。如果您想通过WCF发送POCO,您应该关闭延迟加载,因为您永远不会避免延迟加载不必要的属性,除非您通过属性永久地将所有属性从序列化中排除,但在这种情况下,它们在急切加载后也不会被序列化