s.k*_*aul 6 c# linq-to-entities
if (!string.IsNullOrEmpty(Queries["SurnameInitial"]))
{
var initials = Queries["SurnameInitial"].Split(',').ToList();
filter.And(s => initials.Contains(s.Surname.ToArray()[0].ToString()));
}
Run Code Online (Sandbox Code Playgroud)
它抛出异常
LINQ to Entities无法识别方法'System.String ToString()'方法,并且此方法无法转换为存储表达式.
我怎样才能匹配char vs string?
您可以使用以下代码s.Surname.First():
if (!string.IsNullOrEmpty(Queries["SurnameInitial"]))
{
var initials = Queries["SurnameInitial"].Split(',');
filter.And(s => initials.Contains(s.Surname.First()));
}
Run Code Online (Sandbox Code Playgroud)
这是因为Linq to Entities不知道该怎么做 char.ToString()
既然你正在处理List<string>你可以使用:
filter.And(s => initials.Any(x => x.Contains(s.Surname.First()));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
292 次 |
| 最近记录: |