gpt4 book ai didi

c# - 将 DbSet 和查询结果分配给同一个变量

转载 作者:太空狗 更新时间:2023-10-30 00:14:04 24 4
gpt4 key购买 nike

我使用以下代码允许用户搜索其他注册用户以便将他们添加到 friend 列表中:

[Authorize(Roles = "RegisteredUsers")]
public ActionResult Index(string searchString)
{
//list of registered users
var regUsers = db.Users;

if (!String.IsNullOrEmpty(searchString))
{
regUsers = regUsers.Where(s => s.User.LastName.Contains(searchString));
}

return View(regUsers.ToList());
}

但我在第 9 行的 regUsers = regUsers.Where(..) 处收到错误,说明:

"cannot implicitly convert type System.Linq.IQueryable<ETLToolKit.Models.User> to System.Data.entity.DbSet<ETLToolKit.Models.User>

如何重用 regUsers变量?

最佳答案

怎么样

IQueryable<User> regUsers = db.Users;

db.Users 属于 DbSet 类型,因此当您进行 Where 调用时,它会尝试隐式分配一个不同类型的值给 regUsers,这不会工作 - 因此错误。

编辑:正如其他人所指出的,可以省略对 AsQueryable 的调用。 regUsers 现在明确属于 IQueryable 类型。

关于c# - 将 DbSet 和查询结果分配给同一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34414822/

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