程式筆記

輸出JSON時出現Self referencing loop detected 錯誤

在之前的專案中輸出JSON運作了一陣子都沒什麼問題,最近剛好更新了一些資料,卻引發了下列錯誤訊息 Self referencing loop detected for property ''Table' with type 'System.Data.Entity.DynamicProxies.Table_(後略)

Facebook line

文章目錄

在之前的專案中輸出JSON運作了一陣子都沒什麼問題,最近剛好更新了一些資料,卻引發了下列錯誤訊息


Self referencing loop detected for property ''Table' with type 'System.Data.Entity.DynamicProxies.Table_(後略) 


後來查了一下資料發現是關聯式資料的問題,先前雖然有關聯表格卻都沒有關聯資料,所以一直都沒觸發錯誤。


解法有好幾種,有修改Model或是Web.config,但看起來效果都不是很好,且可能會有後遺症,因此後來改用下列的方法解決


透過MetadataType屬性來進行設定,如下即可解決



 [MetadataType(typeof(TableMatedata))]

    public partial class Table

    {

        public class TableMatedata

        {

            [JsonIgnore]

            public virtual Table2 Table2 { get; set; }

        }

    }

PM LIFE DAY

Danny H.

Sr. Product Manager
View Articles

PM LIFE DAY 的站長 Danny H. 過去曾經是企業 founder,目前是一個 Remote PM 工作者,在工作與生活中找到一個平衡點,與大家分享過去的故事與經歷。