程式筆記

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

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

分享到 Facebook 分享到 Line 分享到 Twitter

文章目錄

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

在之前的專案中輸出 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; }

        }

    }

Danny H.

Danny H.

Sr. Product Manager

我是 PM LIFE DAY 產品經理的日常 的站長丹叔Danny,我是一名創業者出身,現在是軟體業跨國團隊 PM。我在職業生涯中經歷過各種挑戰,並在不斷在學習和成長過程中累積了豐富的經驗。我希望能分享我的故事和經驗,幫助其他有相同問題的人,我相信只要不斷學習及嘗試,每一個人都能在自己的領域中達到更高的成就,同時我也一直在追求工作和生活的平衡,我期待與大家一起追尋成功與平衡之路!