Dot-Net
為什麼 Web Api 返回帶有“$ref=”的空 json 結果?
在 Web Api 中返回任何結果之前,我在 EF5 中禁用了延遲載入和代理創建。一切正常。但是,當我開始對
Include()其他實體進行渴望獲取時,一些 JSON 對像看起來像這樣:{ $ref: "14" }, .. correct objects .. { $ref: "6" }, ..
"$ref"結果列表中包含什麼?
它來自 JSON.NET 序列化程序。它保留了對象引用。看看
following blog post。我猜你的對像圖中有一些循環引用,而 JSON.NET 正在盡最大努力序列化這個 EF 結構而不會崩潰(這是大多數 JSON 序列化程序無論如何都會做的)。雖然這不是一個標準。個人建議:永遠不要序列化你的 EF 實體。始終定義視圖模型並讓您的 Web API 方法返回僅包含您感興趣的屬性的視圖模型。