2016-11-10 115 views
0

檢索數據的正確和有效的方式我有2個表:什麼是使用實體框架6

T1 
{ 
    Columns: **A**, B, C 
} 

T2 
{ 
    Columns: D, E, F, **A** 
} 

T1有一個(列一個)許多連接T2使用外鍵。

我試圖在A=1,B=2,E=3的情況下檢索F的列表。

什麼是正確和有效的方式來檢索這些數據?

  • 它是否加入聲明?
  • 它是通過檢索所有T1 (where A=1,B=2)包括T2然後循環結果(並消除無關T2)?
  • 還有其他的一些方法嗎?
+0

當然單數據庫查詢 - 使用手動加入或導航屬性,「where」子句和「select」** F **。 –

+0

但是通過這種方式,我檢索了許多我不使用的記錄,並且我需要遍歷結果並刪除不相關的記錄。 – Nir

+0

where子句將在數據庫內進行過濾。 'select' ** F **將只返回所需的數據。這是最佳的。將不會創建任何對象。 EF將僅將您的模型用作生成SQL查詢的元數據。 –

回答

2
var lst = (from t1 in context.T1 
     join t2 in context.T2 on t1.A equals t2.A 
     where t1.A == 1 && t1.B == 2 && t2.E == 3 
     select t2.F).ToList(); 
  • 加入表中的where子句
  • 選擇
  • 過濾器只是一個屬性,您有興趣