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