gpt4 book ai didi

sql - 无法将 lambda 表达式转换为委托(delegate)类型

转载 作者:行者123 更新时间:2023-12-02 08:39:36 27 4
gpt4 key购买 nike

我正在尝试从 中获取第一个用户SQL 数据库使用 Entity model这正在与一个已经存在的数据库进行对话,该数据库具有我正在寻找的用户的用户 ID。这和第二个错误出现。

Cannot convert lambda expression to delegate type System.Func<iomnientitylibrary.user,bool> because some of the return types in the block are not implicitly convertible to the delegate return type.



无法隐式转换类型 intbool .
public user GetUser(int userID)
{
using (var context = new iomniEntities())
{
user u = context.users.FirstOrDefault(user => user.userID);

return u;
}
}
context.users.ToList()工作正常,但我不想成为 效率低下 .

最佳答案

使用表达式时:user u = context.users.FirstOrDefault(user => user.userID); 返回类型是 userID (这由 Lambda 表达式的第二部分确定)而不是类型: 'user' ,该语句期望根据声明:user u
所以,如果你想返回一个 user其用户 ID 为“用户 ID”,请使用:

user u = context.users.FirstOrDefault(user => user.userID==userID);

或者您也可以使用:
user u = context.users
.Where(user => user.UserId==UserID)
.Select(user => user).Single();

还要确保你有 Using 语句: using System.Linq;

关于sql - 无法将 lambda 表达式转换为委托(delegate)类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17799499/

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