Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.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/2/cmake/2.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# CommaSeprated列和列表之间的Linq到Sql查询?_C#_Sql_Linq To Sql_Linq To Objects - Fatal编程技术网

C# CommaSeprated列和列表之间的Linq到Sql查询?

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

我有一张桌子

有一个列名是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()).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();