我有以下表設計。延遲加載不與1到0或1的關係
正如在這裏可以看到,有一個一對多的關係,與許多在EpisodePatient側。
然後,我有以下類。
public class EpisodeModel
{
public int ID { get; set; }
public virtual EpisodePatientModel EpisodePatient { get; set; }
}
public class EpisodePatientModel
{
public int EpisodePatientID { get; set; }
public virtual EpisodeModel Episode { get; set; }
}
我設立的關係,實體框架,是一個爲0或很多。原因是,我從視圖中選擇了所有EpisodePatients,並且我希望在訪問時將Episode加載爲Lazy。
這就是我如何建立我的關係。
modelBuilder.Entity<EpisodePatientModel>().HasRequired(r => r.Episode).WithOptional(o => o.EpisodePatient);
我想這是作爲一個一到零或許多在我的代碼,作爲一個小插曲總會有一個EpisodePatient,反之亦然。
我面臨的問題是,當我加載EpisodePatient,並嘗試訪問Episode鏈接的項目時,它始終爲空,並且不會發生延遲加載。
我在這裏做錯了什麼?
UPDATE
這是我如何加載原始EpisodePatient項目。
this.DbContext.EpisodePatients.AsNoTracking();
顯示查詢其加載EpisodePatient。 –
@mwisnicki請參閱我的更新 –
在你提到的1到0或1的標題中,但是在你說的細節中,有一對多關係,與EpisodePatient side_上的許多關係?如果它是一對多的話,你必須將它改爲:'public virtual ICollection EpisodePatient {get;組; } –
Ziyad