Ess*_*ans 0 c# linq entity-framework
我被这个 linq 查询困住了。
我有这张桌子。
ID A B C D
1 some data
2 some other data
Run Code Online (Sandbox Code Playgroud)
然后,对于该表上的每条记录,我可能没有或许多行
ID TableA_ID R
1 1 1
2 1 2
3 1 5
4 2 2
Run Code Online (Sandbox Code Playgroud)
例如。第 1 行(某些数据)在表 B 上有 3 行。
我尝试使用
tableA.Include(x => x.tablebchilds.Where( d => d.R == 1)).ToList()
Run Code Online (Sandbox Code Playgroud)
但它不起作用。与许多其他变化。
此查询的目标是返回tableA.row#1,如果我将它1作为值(值R)传递。Number <> 2不会给出任何结果。
表格在 EF 上链接。所以TableB.tableA_ID是的外键tableA.ID
编辑 #1
我在没有运气的情况下尝试了标记为重复的问题中的答案。如果用户插入1作为参数,则给出 2 tableA.rows ,linq 查询应返回Row #1, some data。如果2作为参数传递,则不返回任何内容。
一个有效的 SQL 语句是:
SELECT [TableA].* FROM [TableA] JOIN [TableB] ON [TableA].[Id] = [TableB].[TableA_Id] WHERE [TableB].[R] = 1
Run Code Online (Sandbox Code Playgroud)
谢谢!
如果您正确配置了数据库关系,这必须工作。
tableA.Include(x => x.tableBChilds).Where(tableA => tableA.tableBChilds.Any(b => b.R== 1)).ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4578 次 |
| 最近记录: |