簡體   English   中英

MVC3 & Entity Framework 4 中的循環引用錯誤

[英]Cyclical reference error in MVC3 & Entity Framework 4

我承認使用 MVC3/EF4 輕而易舉,並且上下文:模型比我希望的工作得更好(盡管我總是對使事情發生在幕后的構造/框架感到厭煩,但是嘿,我是老派的灰胡子),一切都很順利,直到我遇到這個問題。
我看過很多與此問題相關的帖子,但不知道如何解決我的問題。 每個表(實體)都有一個employeeID 字段,並且對於每個表中的大多數記錄,它可以(並且通常是)不同的員工。 顯然,DbContext 中只有一個表可以定義一個“虛擬員工員工”(或我選擇的任何名稱),否則我會得到可怕的“循環引用錯誤”。 理想情況下,我希望所有三個表都擁有它,以便我可以輕松訪問員工姓名。 我可能必須重寫 OnModelCreating() ,但那(流利的 API)完全超出了我的范圍。 有EF大師嗎????

Models:

class meeting{
int meetingID; //key
string description  {get;set;}
int employeeID {get;set;}   // who scheduled
public virtual employee employee  {get;set;}
public virtual ICollection<agenda> agendas {get;set;}
}

class agenda{
int agendaID {get;set;}   // key
int employeeID  {get;set;}  // initiator
public virtual employee employee {get;set;}
public virtual ICollection<actionItem> actionItems {get;set;}
}

class actionItem{
int actioItemID {get;set;} //key
string description {get;set;}
int employeeID {get;set;} // action item lead
public virtual employee employee {get;set;}
}

class employee{
int employeeID  {get;set;}//key
string name {get;set;}
}

context:
public class meetings:DbContext{
public DbSet<meeting> meetings {get;set;}
public DbSet<agenda> Agendas
public DbSet<actionItem> actionItems{get;set;}
}

我假設您在模型序列化時遇到此錯誤。 大多數人使用第二組模型從 EF 模型中抽象出來,但是如果您想堅持使用這些模型,請使用此答案中的方法來擺脫您的周期性參考問題:

EF 4.1 - 代碼優先 - JSON 循環參考序列化錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM