0

我是实体框架的初学者,我需要您的帮助来构建查询。

我有以下表格:

表格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
4

1 回答 1

1
var result = context.table1.Where(x => x.table2.Any(y => y.idTable3 == 4)).ToList();
于 2013-02-21T10:53:52.823 回答