我有两个表-“客户”表和“黑名单”客户表。将客户列入黑名单时,我会将customerid作为外键添加到“黑名单”表中。
我想要的是获取不在BlackList表中的CusId和Name。
我如何编码此实体框架C#?
Customer
---------
(CusId,Name,Telephone,Email)
Blacklist
---------
(CusId)
您想要的是以下内容:
db.Customers
.Where(c => !db.Blacklists
.Select(b => b.CusId)
.Contains(c.CusId)
);
EF乐于将其转换为运行良好的子查询。
此模式适用于静态列表(创建IN(a, b, c)
表达式)以及其他表。您可以使用它来检查是否在列表中。
如果要测试它并查看它生成的SQL,我强烈建议使用LINQPad(它是免费的)。这就是我一直在测试LINQ中的小想法的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句