我有两张桌子: 带有ID,Name,...列的“人员” 带有PersonnelID的“User”(“Personnel”中ID列的FK),用户名,密码列
问题是如何查询人员实体在“用户”表中没有使用他们的ID,我的意思是来自“人员”的实体在“用户”表中没有记录?
首先,我想创建一个包含每个“Personnel”实体的视图,其中包含“User”表中的记录并从所有Personnel实体中减去此视图,这是解决方案,但我不知道如何在Linq中减去两个视图< / p>
我将此查询用于视图:
from p in ObjectContext.personnels
join u in ObjectContext.users on p.ID equals u.PersonnelID
select p;
这是解决方案吗?如果是,我该如何减去两个视图?
或者有更好的方法吗?
PS !!:抱歉我的英文不好:D
答案 0 :(得分:3)
问题是如何在“用户”表
中查询人员实体的ID未被使用
答案:
from p in ObjectContext.personnels
where !ObjectContext.users.Any(u => u.PersonnelID == p.ID)
select p;
虽然,您可能希望限制您提取的列:
from p in ObjectContext.personnels
where !ObjectContext.users.Any(u => u.PersonnelID == p.ID)
select new { p.Id, p.Name, etc };