0
我是一个初学者初学者,具有实体框架,我需要您的帮助来构建查询。实体框架 - 在实体集合上使用Join子句
我有以下表格:
表1
idTable1 myDataTable1
表2
idTable2 myDataTable2 #idTable1 #idTable3
表3
idTable3 myDataTable3
我需要有以下要求的SQL的等效:
SELECT * FROM table1 t1
INNER JOIN table2 t2
WHERE t1.idTable1 = t2.idTable1
and t2.idTable3 = 4;
我试图用这样的EntityFramework要做到这一点,但它不工作:
List<table1> l = context.table1.Where(tab => (tab.table2.idTable3 == 4)).ToList<table1>();
的问题是, “table2”是一个EntityCollection,我需要选择一个带有“ElementAt”来调用“idTable3”,但我想在所有table2元素中搜索...
你有什么想法吗?
问候
编辑: 目前,我用下面的Linq查询,但如果你有一些想法...
from t1 in context.table1 from t2 in t1.table2 where t2.table3.idTable3 == 4 select t1
你的查询看起来不错。你有什么异常或意外的结果?顺便说一句,在末尾传递一个类型到ToList函数是不必要的。 – 2013-02-21 10:03:55
我没有例外,因为我无法建立我的项目。当我键入“tab.table2”时,table2是一个EntityCollection。自动完成不会提出我的实体“table2”的任何属性。 – 2013-02-21 10:12:37
让我直说吧。你的'table1'对象上的'table2'属性是一个集合? – 2013-02-21 10:18:14