Linq to sql 修改LINQ表达式以接受IN子句

Linq to sql 修改LINQ表达式以接受IN子句,linq-to-sql,Linq To Sql,我试图修改下面的代码行以接受一个好的老式IN子句 我看了一些例子,但进展不快 我想补充如下内容: WHERE s.SiteStatusId IN (3,4,5) 我如何才能做到这一点?试试: var ids = new [] { 3, 4, 5 }; var searchResults = from s in allSites where ids.Contains(s.Id) select s; 我想这正是您想

我试图修改下面的代码行以接受一个好的老式IN子句

我看了一些例子,但进展不快

我想补充如下内容:

WHERE s.SiteStatusId IN (3,4,5)
我如何才能做到这一点?

试试:

var ids = new [] { 3, 4, 5 };

var searchResults = from s in allSites
                    where ids.Contains(s.Id)
                    select s;
我想这正是您想要的,但我已经有一段时间没有使用LINQ to SQL…

来生成IN子句,在某些集合上使用Contains

var query = from s in allSites
            orderby s.SiteDescription
            where s.SiteDescription.StartsWith(siteDescription)
               && s.SiteLocation != null
               && new[] { 3, 4, 5 }.Contains(s.SiteStatusId)
            select s;

一个简单的谷歌搜索结果会比在这里询问更快。我不明白为什么人们不使用谷歌!
var query = from s in allSites
            orderby s.SiteDescription
            where s.SiteDescription.StartsWith(siteDescription)
               && s.SiteLocation != null
               && new[] { 3, 4, 5 }.Contains(s.SiteStatusId)
            select s;
 var siteStatusIds = new [] { 3, 4, 5 };
 var searchResults =  (
     from s in allSites
     orderby s.SiteDescription
     where s.SiteDescription.StartsWith(siteDescription) &&
           s.SiteLocation != null &&
           siteStatusIds.Contains(s.SiteStatusId)
     select s);