在使用 EntityFramework 时,我在尝试编译以下代码时遇到错误“A 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();
我不知道这个错误是什么意思,最重要的是不知道如何修复它。有帮助吗?
最佳答案
objects
是 Linq-To-SQL 数据库上下文吗?在这种情况下,您只能使用 => 运算符右侧的简单表达式。原因是,这些表达式没有被执行,而是被转换为 SQL 以对数据库执行。
试试这个
Arr[] myArray = objects.Select(o => new Obj() {
Var1 = o.someVar,
Var2 = o.var2
}).ToArray();
关于c# - "A lambda expression with a statement body cannot be converted to an expression tree",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5179341/