-1
请看看我的代码如下错误LINQ要求
var result = (from c in db.vCompanies
where id == c.id
from user in db.Users
select new ViewCompanyModel()
{
Id = c.id,
Descripton = c.Descripton,
Name = c.Name,
ImageLink = c.ImageLink,
AdminEmail = c.Email,
Users = db.eUsers
.Where(o => o.CompanyName.Equals(c.Name))
.Select(o => new UserManageViewModel.UserViewModel
{
Id = o.UserId,
Name = o.LastName,
Email = o.Email,
Company = o.CompanyName,
ListOfRoles = user.AspNetUsers.AspNetRoles.Select(x=>x.Name).ToList()
})
}).FirstOrDefault();
我收到没有ListOfRoles正确的数据 - 我只接收第一用户的数据。 我试图这样
Where(x=>x.UserId == o.UserId)
我也尝试过改变添加的东西对这个
ListOfRoles = db.Users.Where(x=>x.UserId == o.UserId).Select(x=>x.AspNetUsers.AspNetRoles)
但在这种情况下,我不能选择x.Name。 我做错了什么。 请告诉我。
您只需要在'ListOfRoles'中为单个用户请求角色 - 当前由'user'范围变量标识的用户。由于使用'FirstOrDefault',你只需要一个单一的结果。也许你不应该叫'FirstOrDefault'? –
我删除了FirstOrDefault并且出错 - 功能评估被禁用,因为之前的功能评估超时。您必须继续执行才能重新启用功能评估。 –
这是一个调试器问题 - 它没有以任何其他方式说明发生了什么。 –