实体框架-对实体集合使用Join子句
本文关键字:实体 Join 子句 集合 框架 | 更新日期: 2023-09-27 18:00:25
我是实体框架的初学者,需要您的帮助来构建查询。
我有以下表格:
表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;
我试着用这样的实体框架来做这件事,但它不起作用:
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
var result = context.table1.Where(x => x.table2.Any(y => y.idTable3 == 4)).ToList();