【发布时间】:2018-05-09 10:43:12
【问题描述】:
当我尝试使用他们所属的部门名称获取所有用户时,使用 ASP.Net MVC 我在这一行中不断收到此错误:
DepartmentName = db.Departments.Where(d => d.DepartmentId == u.DepartmentId).Select(n =>n.DepartmentName).ToString()
根据我在谷歌搜索的内容,我认为我必须执行两个查询,但我不知道该怎么做。 这是我的视图模型
public class UserListViewModel
{
public string Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string RoleName { get; set; }
public string DepartmentName { get; set; }
}
和行动
public ActionResult Users()
{
List<UserListViewModel> model = new List<UserListViewModel>();
model = UserManager.Users.Select(u => new UserListViewModel
{
Id = u.Id,
FirstName = u.FirstName,
LastName = u.LastName,
Email = u.Email,
DepartmentName = db.Departments.Where(d => d.DepartmentId == u.DepartmentId).Select(n =>n.DepartmentName).ToString()
}).ToList();
提前谢谢你!
【问题讨论】:
-
UserManager和db是两个不同的上下文。尝试将DepartmentName选择从查询中移出以获取用户 - 只需在获得用户 ID 后获取它。 -
@Dido 感谢您的回复,但是我怎样才能分别获取用户和部门,您能告诉我吗?我之前尝试过 Like this DepartmentName = db.Departments.Where(d => d.DepartmentId == ?????).Select(n =>n.DepartmentName).ToString() ,但是 d => d.DepartmentId 与什么?
标签: c# asp.net-mvc linq