在 LINQ 中减法



我有两个表:带有身份证,姓名的"人员,...列和具有人员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 };

相关内容

  • 没有找到相关文章

最新更新