【发布时间】:2018-04-04 12:22:12
【问题描述】:
我有一个包含Branch Ids 和Department Ids 的表。我有3个分行,第1个分行只有1个部门,第2个分行有2个部门,第3个分行有3个部门。
现在,我需要编写一个查询来查找具有部门 1 但没有部门的分支机构。 2和部门3.
这只是一个例子,我有一个更复杂的场景,它非常动态。我正在使用这个例子来提出我的问题。
我附上图片来理解问题。
这里是查询:
db.ConnectedBRDE.Where(x => x.DeptId == 1 && x.DeptId != 2)
.Select(x => x.BranchId)
.ToList();
这个查询给出了我所有的三个分支,而我只需要分支 1,因为这是唯一没有部门 2 的分支。
这部分&& x.DeptId != 2 是错误的,我猜。我应该在这里写什么来使我的过滤器工作?
【问题讨论】:
-
您是否将 Branches 和 Departments 都放在一个表中?
-
这是一个包含
BranchId和DepartmentId的桥接表。 -
@HüseyinBurakKaradag,完全不一样 :)
-
我所能做的就是为您在问题中陈述的内容提供一个解决方案 - 我不知道您的非常复杂且非常动态的场景是什么:)
-
是的,我做到了。我试过你的技术分开做,它奏效了。
标签: c# asp.net-mvc entity-framework linq filter