2013-05-04 132 views
3

我有一個數據庫中的3個表(下圖)。我正在嘗試加入表格,以便可以從所有表格中獲取所有相關信息。我從DAT_Demo開始,我已經能夠從DAT_Demo和ARC_Records獲取所有記錄,但是我無法弄清楚如何也拉入所有與ARC_Records關聯的DAT_OrderDoctors記錄。我有下面的代碼來拉我想要的記錄,但DAT_OrderDoctors不可用。我怎樣才能做到這一點?複雜的實體框架加入

到目前爲止的代碼:

IQueryable<DAT_Demo> query = _localContext.DAT_Demo 
    .Include("ARC_Records") 
    .Include("ARC_Immuno") 
    .OrderBy(d => d.LastName) 
    .Where(d => SqlFunctions.PatIndex(txtSearch.Text + "%", d.FirstName + " " + d.LastName) > 0) 
    .Take(100); 

demo = query.ToList(); 

enter image description here

+0

注意我的代碼工作,但ARC_Records對象不確定保留DAT_OrderDoctor記錄。 – 2013-05-04 03:43:39

+1

你不想要另一個包括? '.Include(「ARC_Records.DAT_OrderDoctor」)' – 2013-05-04 03:55:57

+0

我不知道我可以這樣做......你剛剛學會了我。這很有效 – 2013-05-04 04:00:44

回答

1

我認爲你是後第二個層次包括

.Include("ARC_Records.DAT_OrderDoctor") 

.Include(d=>d.ARC_Records.Secect(a=>a.DAT_OrderDoctor)) 
+0

你的回答非常好。我懷疑如果添加.Include(「DAT_OrderDoctor」)會怎麼樣? – Smaug 2013-05-04 05:37:07

+0

@RameshMuthiah語法的工作方式是它在當前表上查找一個屬性,並填充導航屬性。在你描述的情況下,我期望你會得到一個錯誤,因爲'DAT_OrderDoctor'不是'DAT_Demo'上的一個屬性 – 2013-05-04 08:09:58