pap*_*bpb 4 c# linq linq-to-entities asp.net-mvc-3
我有以下数据,我想使用Linq to Entities过滤数据,但我得到了异常:
LINQ to Entities无法识别方法'System.String [] Split(Char [])'方法,并且此方法无法转换为商店表达式.
我在表格中有以下数据
1 HPM,BKM NULL 1,2,3
2 HPM,BKM L1,L2 1,2
3 KK,CC,ZZ,PP 3,4
Run Code Online (Sandbox Code Playgroud)
我正在编写以下代码
var criteria_1="1";
var criteria_2="HPM,"
var Col4 = DB.Letter_Logic.Where(m => m.Col1.Equals(criteria_1)
&& m.Col2.Split(',').Contains(criteria_2)).ToList();
Run Code Online (Sandbox Code Playgroud)
作为我的结果,应该给我1,2,3的值.
这是因为无法将Split(Char [])转换为SQL表达式.您需要首先执行ToList()然后执行拆分操作,但请注意,在使用拆分表达式过滤掉之前,这会将更多结果带回计算机:
var Col4 = DB.Letter_Logic.Where(m => m.Col1.Equals(criteria_1))
.ToList()
.Where(m => m.Col2.Split(',').Contains(criteria_2))
.ToList();
Run Code Online (Sandbox Code Playgroud)