1. 程式人生 > >WCF+Nhibernate循環引用導致序列化的問題

WCF+Nhibernate循環引用導致序列化的問題

生成 循環引用 一個 反序 客戶 配置 使用 類型 reference

WCF+Nhibernate 在查詢中只要涉及到表關聯,都會存在一個循環引用而導致客戶端不能反序列化的問題。

解決的辦法:

1.多對一關聯中,設置lazy="false".

2.一對多關聯中,配置文件的屬性使用bag類型,實體類中對應的屬性為強類型的集合IList<類型>,而不能為弱類型IList,否則客戶端反序列化生成的代碼裏面對應的屬性為IList<Object>,造成客戶端無法反序列化到對應的類型。

3.實體類的數據契約配置加上IsReference=true。

WCF+Nhibernate循環引用導致序列化的問題