我有两个表:带有身份证,姓名的"人员,...列和具有人员ID的"用户"("人员"中ID列的FK),用户名,密码列
问题是我如何查询"用户"表中未使用其ID的人员实体,我的意思是"用户"表中没有记录的"人员"中的实体?
起初,我认为创建一个包含每个"人员"实体的视图,并在"用户"表中记录并从所有人事实体中减去此视图,是解决方案,但我不知道如何在Linq中减去两个视图
我将此查询用于视图:
from p in ObjectContext.personnels
join u in ObjectContext.users on p.ID equals u.PersonnelID
select p;
这是解决方案吗?如果是,我如何减去两个视图?
还是有更好的方法?
PS!!:对不起,我的英语:D不好
问题是我如何查询"用户"表中未使用其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 };