林克在哪里包括

本文关键字:包括 在哪里 林克 | 更新日期: 2023-09-27 17:57:06

我被这个linq查询困住了。

我有这张桌子。

ID  A   B   C  D
1   some data 
2   some other data

然后,对于该表上的每条记录,我可能没有或多行

ID  TableA_ID R
1   1         1
2   1         2
3   1         5
4   2         2

例如。第 1 行(某些数据)在表 B 上有 3 行。

我试过使用

tableA.Include(x => x.tablebchilds.Where( d => d.R == 1)).ToList() 

但它不起作用。与许多其他人一起变种。

此查询的目的是tableA.row如果我将其作为值(值 R 1 传递,则返回 #1。 Number <> 2不会给出任何结果。

表在 EF 上链接。所以TableB.tableA_IDtableA.ID的外键

编辑 #1

我尝试了标记为重复的问题中的答案,但没有运气。如果用户插入 1 作为参数,则给那 2 个 tableA.rows,linq 查询应该返回行 #1,一些数据。如果将 2 作为参数传递,则不返回任何内容。

一个有效的 SQL 语句是:

SELECT [TableA].* FROM [TableA] JOIN [TableB] ON [TableA].[Id] = [TableB].[TableA_Id] WHERE [TableB].[R] = 1

谢谢!

林克在哪里包括

如果您正确配置了数据库关系,则必须工作。

tableA.Include(x => x.tableBChilds).Where(tableA => tableA.tableBChilds.Any(b => b.R== 1)).ToList();