LINQ 中的减法

发布于 2024-11-08 03:47:18 字数 442 浏览 1 评论 0原文

我有两张桌子: “人员”,包含 ID、姓名、... 列 和“用户”与人员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

I have two tables:
"Personnel" with ID,Name,... columns
and "User" with PersonnelID (FK of ID column in "Personnel"),Username,Password columns

The question is how can I query the personnel entities which their IDs are not used in "User" table, I mean entities from "Personnel" with no record in "User" table?

At first I thought creating a view containing each "Personnel" entity with record in "User" table and subtracting this view from all Personnel entities, is the solution, but I don't know how to subtract two views in Linq

I used this query for the view:

from p in ObjectContext.personnels
join u in ObjectContext.users on p.ID equals u.PersonnelID 
select p;

Is this the solution? If yes how can I subtract two views?

Or is there a better way?

PS!!: Sorry for my bad english :D

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

未央 2024-11-15 03:47:19

<块引用>

问题是如何查询其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 };

The question is how can I query the personnel entities which their IDs are not used in "User" table

Answer:

from p in ObjectContext.personnels
where !ObjectContext.users.Any(u => u.PersonnelID == p.ID)
select p;

Although, you might want to limit the columns that you pull:

from p in ObjectContext.personnels
where !ObjectContext.users.Any(u => u.PersonnelID == p.ID)
select new { p.Id, p.Name, etc };
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文