C# CommaSeprated列和列表之间的Linq到Sql查询?
我有一张桌子 有一个列名是branch。其中包含逗号分隔的值。像这样C# CommaSeprated列和列表之间的Linq到Sql查询?,c#,sql,linq-to-sql,linq-to-objects,C#,Sql,Linq To Sql,Linq To Objects,我有一张桌子 有一个列名是branch。其中包含逗号分隔的值。像这样 1,2 2,4 5,6 3,4 6,8 4,9,7 等等 我有一个列表,它包含两个值3和4 我需要一个数据库查询,它将获取所有包含3或4列数据的列 因此,我们将被淘汰 2,4 3,4 4,9,7 我使用这个代码作为解决方案 RowCollection.Where(row => row.Split(",").ToList() .Where(x => list.Contains(x)).Any
1,2
2,4
5,6
3,4
6,8
4,9,7
等等
我有一个列表
,它包含两个值3和4
我需要一个数据库查询,它将获取所有包含3或4列数据的列
因此,我们将被淘汰
2,4
3,4
4,9,7
我使用这个代码作为解决方案
RowCollection.Where(row => row.Split(",").ToList()
.Where(x => list.Contains(x)).Any()).ToList();
这是一个错误
Method 'System.String[] Split(Char[])' has no supported translation to SQL.
请告诉我解决方案,我将为此做些什么。不幸的是,您正在使用的IQueryable(Linq到SQL)不支持拆分函数 在本例中,您实际上只剩下IEnumerable(LINQtoObjects)支持。第二个代码片段就是您需要做的,或者类似于 在这种情况下,试试liek这个
var collection = RowCollection.ToList();
var filterdate = collection.Where(row => row.Split(",").ToList()
.Where(x => list.Contains(x)).Any()).ToList();
由于t-sql不支持拆分,您应该首先从一个列表中获取数据,然后应用您的条件
或应用AsEnumerable()
var collection = RowCollection.AsEnumerable()
.Where(row => row.Split(",").ToList()
.Where(x => list.Contains(x)).Any()).ToList();