gpt4 book ai didi

c# - 在 LINQ 查询后无法获取对象列表<>

转载 作者:太空宇宙 更新时间:2023-11-03 18:03:28 25 4
gpt4 key购买 nike

我正在尝试将我的 LINQ 查询结果转换为列表,但直到现在都没有成功。

This is my action method : 

public ActionResult DisplayListOfRolesUser()
{
string currentUserId = User.Identity.GetUserId();//get the id of the logged user

UserDetails userDetails = db.UsersDetails.Where(c => c.identtyUserId == currentUserId)
.FirstOrDefault();
int UsrCompanyId = userDetails.CompanyId;//get the user's company

List<WorkRole> WorkRolesQuery = db.WorkRoles.Where(c => c.CompanyId == UsrCompanyId)
.FirstOrDefault().ToList();//get all the work roles for the compnay.

//List<WorkRole> lst = WorkRolesQuery.ToList();

return View(lst);
}

我尝试了很多堆栈溢出的答案,但没有成功。

当前 List<WorkRole> WorkRolesQuery = db.WorkRoles.Where(c => c.CompanyId == UsrCompanyId).FirstOrDefault().ToList();

ToList 带有红色下划线,它表示“WorkRole”不包含“ToList”的定义。

我只是想要一个 WorkRole 的列表对象,以便我可以以某种形式在我的 View 中显示它们。

有人可以帮忙吗?

这也是我的模型:

public class WorkRole
{
[Key]

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]

public int WorkRoleId { get; set; }
public string RoleName { get; set; }
public string RoleDescription { get; set; }
public int CompanyId { get; set; }
public virtual Company Company { get; set; }
public virtual ICollection<WorkRolesUsersDetails> WorkRolesUsersDetails { get; set; }
}

最佳答案

当您调用 .FirstOrDefault().ToList(); 时,这意味着您首先选择第一个项目(如果存在,否则为 null),然后尝试将此项目转换为列表(失败)。只需在 Where() 语句之后调用 ToList() 即可:

List<WorkRole> WorkRolesQuery = db.WorkRoles.Where(c => c.CompanyId == UsrCompanyId).ToList();

关于c# - 在 LINQ 查询后无法获取对象列表<>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41806487/

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