Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架-对实体集合使用Join子句_C#_Sql_Entity Framework - Fatal编程技术网

C# 实体框架-对实体集合使用Join子句

C# 实体框架-对实体集合使用Join子句,c#,sql,entity-framework,C#,Sql,Entity Framework,我是实体框架的初学者,我需要您的帮助来构建查询 我有以下表格: 表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.

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

我有以下表格:

表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>();

你看起来很好。您得到了什么异常或意外的结果?顺便说一句,在最后将类型传递给ToList函数是不必要的。我没有例外,因为我无法构建我的项目。当我键入“tab.table2”时,table2是一个EntityCollection。自动完成不会建议我的实体“table2”的任何属性。让我直说吧。
table1
对象上的
table2
属性是一个集合?是的,它是。table1对象具有以下属性:idTable1,EntityCollection。和table3对象具有相同的属性:idTable3,EntityCollection
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();