gpt4 book ai didi

c# - "A lambda expression with a statement body cannot be converted to an expression tree"

转载 作者:IT王子 更新时间:2023-10-29 03:31:21 26 4
gpt4 key购买 nike

在使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com