在ASP.NET Web API的JSON序列化過程中避免使用實體框架6進行循環引用的可能性是什麼?EF6:如何避免循環引用?
我爲Entity Framework 6數據庫首先生成了一個edmx(實體數據模型)文件。我嘗試使用ASP.NET Web API構建API。當我嘗試在我的控制器中返回我的JSON對象時,由於循環引用,我得到了序列化的運行時異常。
事實上,當我仔細檢查我的數據庫和我的實體時,我發現我的一個實體包含一個列表,其中包含我以前的實體列表的另一個實體。假設我有一個包含作者的書實體,並且每個作者實體都包含書籍列表。這是相對數據庫常見的東西,但無法在JSON序列化中解析(或無法解析.NET序列化程序)。
我不想更改我的數據庫,但我已準備好將錯誤列表分解爲我的實體或edmx文件。我能做什麼?
我曾嘗試:
我已經嘗試過,包括創建新模型或實體使用映射工具(http://www.codeproject.com/Articles/292970/Avoiding-Circular-Reference-for-Entity-in-JSON-Ser或通過Pluralsight解釋肖恩Wildermuth解決方案)的解決方案。
該解決方案聽起來更像是一種解決方法,而不是真正的解決方案。它應該在edmx文件或實體框架中存在一些內容,告訴JSON序列化程序可能導致循環引用的內容,可以並且必須被序列化的內容以及不能被序列化的內容,對不對?
沒錯,你可以將此問題重複。請在這種情況下,鏈接到重複的答案。除了我已經嘗試過的東西之外,我什麼也沒找到 –