在LINQ中与IN子句一起使用的字符串数组
本文关键字:字符串 数组 一起 LINQ 中与 IN 子句 | 更新日期: 2023-09-27 18:03:05
我想在linq查询中使用字符串数组与下面的in子句
string[] strArray = {"A", "B", "C", "D"};
foreach (var item in SomeCollection.Where(x => x.column.Contains(seriesIIType)))
{
}
但我得到低于错误。
错误1最佳重载方法匹配'string. contains (string)'有一些无效的参数错误2参数1:不能转换'string[]' to 'string'
在我看来你想这样做:
SomeCollection.Where(x => strArray.Any(y => x.column.Contains(y)));
但是我不知道x.column.Contains
是怎么工作的因为我不知道x.column
是什么
在数组中调用Contains
方法
string[] strArray = {"A", "B", "C", "D"};
SomeCollection.Where(x => strArray.Contains(x.column))
这将返回那些列属性值为数组中任意一个的项。
假设column
属性与您的数组(string
)类型相同
我认为应该是另一种方式:
string[] seriesIIType = {"OC", "RH", "RC", "OA"};
foreach (var item in SomeCollection.Where(x => seriesIIType.Contains(x.Column)))
{
}
参考:Linq to Entities - SQL "IN"条款很直观,不是吗?