为了账号安全,请及时绑定邮箱和手机立即绑定

Linq to Entities - SQL“IN”子句

Linq to Entities - SQL“IN”子句

POPMUISE 2019-10-11 11:07:34
Linq to Entities - SQL“IN”子句在T-SQL中,您可以进行如下查询:SELECT * FROM Users WHERE User_Rights IN ("Admin", "User", "Limited")您如何在LINQ to Entities查询中复制它?它甚至可能吗?
查看完整描述

3 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

在这种情况下,我会选择Inner Join。如果我会使用contains,它会迭代6次,尽管事实上只有一个匹配。

var desiredNames = new[] { "Pankaj", "Garg" }; var people = new[]  {  
    new { FirstName="Pankaj", Surname="Garg" },  
    new { FirstName="Marc", Surname="Gravell" },  
    new { FirstName="Jeff", Surname="Atwood" }  }; var records = (from p in people join filtered in desiredNames on p.FirstName equals filtered  select p.FirstName).ToList();

包含的缺点

假设我有两个列表对象。

List 1      List 2
  1           12
  2            7
  3            8
  4           98
  5            9
  6           10
  7            6

使用Contains,它将搜索List 2中的每个List 1项,这意味着迭代将发生49次!



查看完整回答
反对 回复 2019-10-13
  • 3 回答
  • 0 关注
  • 390 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信