我试图在linq查询中拆分一个字符串.我收到错误说"无法识别的表达式节点:ArrayIndex".有谁知道如何实现这一目标?我的代码示例是:
List<Task> Result= (from t in TaskDB.Tasks
select new Task
{
Description = t.Description.Split('-')[0].ToString(),
Id = ts.id,
}).ToList();
Run Code Online (Sandbox Code Playgroud)
问题是select您的查询部分无法转换为SQL以在服务器上执行(因此"无法识别的表达式节点"错误).尝试这样的事情,确保在客户端执行必要的代码:
var result = (from t in TaskDB.Tasks.AsEnumerable()
select new Task
{
Description = t.Description.Split('-')[0].ToString(),
Id = ts.id,
}).ToList();
Run Code Online (Sandbox Code Playgroud)
这里的诀窍就是AsEnumerable在选择项目之前调用扩展方法.