Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq选择与ID列表匹配的记录_C#_Linq_Linq To Sql - Fatal编程技术网

C# Linq选择与ID列表匹配的记录

C# Linq选择与ID列表匹配的记录,c#,linq,linq-to-sql,C#,Linq,Linq To Sql,是否可以更改下面的查询,以便在包含类型查询中使用types列表 因此,我们没有: var cust = db.Customers.Where(x => x.type_id==9 || x.type_id==15 || x.type_id==16).ToList(); …我想要的是: List<int> types = new List<int> { 9, 15, 16 }; var cust = db.Customers.Where(x => types.c

是否可以更改下面的查询,以便在包含类型查询中使用
types
列表

因此,我们没有:

var cust = db.Customers.Where(x => x.type_id==9 || x.type_id==15 || x.type_id==16).ToList();
…我想要的是:

List<int> types = new List<int> { 9, 15, 16 };
var cust = db.Customers.Where(x => types.contains(x.type_id).ToList();
列表类型=新列表{9,15,16};
var cust=db.Customers.Where(x=>types.contains(x.type_id).ToList();
(type_id不是主键)

谢谢,

标记是,方法
列表。包含的内容将在运算符中转换为SQL:

var cust = db.Customers.Where(x => types.Contains(x.type_id)).ToList();
生成的查询如下所示:

SELECT * FROM Customers
WHERE type_id IN (@p0, @p1, @p2)

你说得对。只需使用“Contains”而不是“Contains”,这是一篇将常见SQL查询转换为LINQ的博客文章。它有一个示例,用于
WHERE IN
和其他常见SQL查询。谢谢@sergey berezovskiy-工作得很好!干杯,Mark