Linq to Entities - SQL“IN”子句

Linq to Entities - SQL“IN”子句

在T-SQL中,您可以进行如下查询:

SELECT * FROM Users WHERE User_Rights IN ("Admin", "User", "Limited")

您如何在LINQ to Entities查询中复制它?它甚至可能吗?


POPMUISE
浏览 370回答 3
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次!
打开App,查看更多内容
随时随地看视频慕课网APP