2016-11-10 111 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子句
  • 选择
  • 过滤器只是一个属性,您有兴趣