我有以下数据,我想使用 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
我正在编写以下代码
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();
它应该给我值 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();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)