林克在哪里包括
本文关键字:包括 在哪里 林克 | 更新日期: 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_ID
是tableA.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();