linq in或contains?

时间:2010-06-11 17:32:31

标签: linq linq-to-sql

如何将Linq-to-sql用于这样的搜索:

其中obj.id等于以下任何{1,2,3,4}

我猜我可以使用in或者包含?

其中obj.id在Enumerable.Range((int)myEnum.Start,(int)myEnum.End))?

2 个答案:

答案 0 :(得分:5)

您可以使用.Contains(),如下所示:

var list = new List<int> { 1, 2, 3, 5 };
var result = from s in DB.Something
             where list.Contains(s.Id)
             select s;

这将转换为参数化形式:

WHERE Id IN (1, 2, 3, 5)

答案 1 :(得分:0)

var myCustomers = new short[] {1,2,3,4};
var foo = db.Customers.Where(c=> myCustomers.Contains(c.ID));