在使用EntityFrameworkA lambda expression with a statement body cannot be converted to an expression tree时,尝试编译以下代码时出现错误“ ”:Obj[] myArray = objects.Select(o =>{ var someLocalVar = o.someVar; return new Obj() { Var1 = someLocalVar, Var2 = o.var2 };}).ToArray();我不知道该错误的含义以及最重要的解决方法。有什么帮助吗?
3 回答
慕桂英546537
TA贡献1848条经验 获得超10个赞
您可以在lamba表达式中将语句主体用于IEnumerable集合。试试这个:
Obj[] myArray = objects.AsEnumerable().Select(o =>
{
var someLocalVar = o.someVar;
return new Obj()
{
Var1 = someLocalVar,
Var2 = o.var2
};
}).ToArray();
注意:
使用此方法时请仔细考虑,因为这样,您会将所有查询结果存储在内存中,这可能会对其余代码产生不良影响。
米脂
TA贡献1836条经验 获得超3个赞
在不了解您在做什么的情况下(Linq2Objects,Linq2Entities,Linq2Sql?),这应该可以使它工作:
Arr[] myArray = objects.AsEnumerable().Select(o => {
var someLocalVar = o.someVar;
return new Obj() {
Var1 = someLocalVar,
Var2 = o.var2
};
}).ToArray();
- 3 回答
- 0 关注
- 1298 浏览
添加回答
举报
0/150
提交
取消