序列化類型 System.Data.Entity.DynamicProxies 的對象時檢測到循環引用
詳細錯誤内容為:
不應為資料協定名稱為BlogArticle_8F5767B5CA34AC0BBFE8F59DB428937035A9A77CC2917A318A2808A379392602:
http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies”的類型“System.Data.Entity.DynamicProxies.BlogArticle_8F5767B5CA34AC0BBFE8F59DB428937035A9A77CC2917A318A2808A379392602”。請考慮使用 DataContractResolver,或将任何未知類型以靜态方式添加到已知類型的清單。例如,可以使用 KnownTypeAttribute 特性,或者将未知類型添加到傳遞給 DataContractSerializer 的已知類型清單。
出現該錯誤的原因:
EF的上下文預設采用建立代理的方式傳回實體集合,如果不需要,可以這樣:
context.ContextOptions.ProxyCreationEnabled = false;
即可關閉。
另外對EF上下文的幾個重要設定選項作個說明:
LazyLoadingEnabled
啟用延遲加載, true 啟用,false 不啟用;
ProxyCreationEnabled
建立代理, true 建立,false 不建立;
UseLegacyPreserveChangesBehavior
确定是否使用舊的行為, true 使用,false 不使用;
本文轉自遠哥部落格園部落格,原文連結:http://www.cnblogs.com/taven/archive/2010/10/08/1845871.html,如需轉載請自行聯系原作者