0
  1. Web API控制器調用實體框架數據庫優先模型中的存儲過程。ASP.Net Web API 2序列化JSON錯誤:「自回參考循環」

  2. 存儲過程將條目插入到我的SQL Server數據庫中,然後返回新創建的條目。

  3. 存儲過程中的作用導入被設定爲返回一個複雜類型,這是創建TagDTO定製

然而(這是DTO TasksModel.tt內創建的),我當調用此API方法時,繼續獲取錯誤「自檢索迴路檢測」。

我從下面錯過了什麼?存儲過程確實插入數據。

enter image description here

enter image description here

TagDTO類:

enter image description here

API控制器代碼:

enter image description here

回答

1

製作河畔e,在返回它之前,從數據庫上下文中刪除該對象。我相信這可以通過將下面的Evict方法添加到您的數據庫上下文來完成。這將使它只能序列化該對象的即時值,它不會嘗試序列化導航屬性。

// this goes inside of your Context Object, parent class may already implement it 
     public void Evict(object entity) 
     { 
      Entry(entity).State = EntityState.Detached; 
     } 

然後使用它是這樣的:

dbContext.Evict(entityFrameworkObject);