实体框架动态代理序列化

时间:2015-10-07 17:54:56

标签: json serialization xml-serialization entity entity-framework-5

动态代理只会导致XML序列化问题而不会导致Json序列化问题吗?

当我尝试以XML格式加载数据时,我收到以下错误

数据合约名称为“UnAuthEventStatusTyp_3A9BA375F5B9150B33712F32AE9753F5944622B315D48B2167AD5D0FF8B38B11:http://schemas.datacontract.org/2004/07/System.Data

出于测试目的,我禁用了延迟加载,然后我托管了我的应用程序。如果我尝试进行Json序列化没有问题,但如果我进行XML序列化,它就会失败。

更新1:

如果我不禁用Lazyloading,那么即使对于JSON序列化,我也会收到与动态代理相关的错误。那么这是否意味着克服Json中的代理序列化仅仅足以禁用LazyLoading

P.S:使用DTO和代理禁用,我能解决这个问题,但想了解背后的原因

更新2:

使用延迟加载和不加载延迟,在这两种情况下,实体类型在调试时显示为动态代理类型。但是当我禁用延迟加载时,Json序列化工作。意味着它能够序列化动态代理实体..我是否正确?

下面是我禁用Lazyloading

时收到的错误消息的快照

“为属性'UnAuthEventStatusType'检测到自我引用循环,类型为'System.Data.Entity.DynamicProxies.UnAuthEventStatusTyp

0 个答案:

没有答案