0
我遇到了映射Roles
屬性的問題,所以它對應於UserViewModel
。Linq把實體投影到IEnumerable中
var userManager = Request.GetOwinContext().GetUserManager<ApplicationUserManager>();
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new ApplicationDbContext()));
var users = (from u in userManager.Users
join r in roleManager.Roles
on u.Id equals r.Id
select new UserViewModel { Id = u.Id, Username = u.UserName, Password = u.PasswordHash, Roles = select new Role { Name = r.Name }});
public class UserViewModel
{
public string Id { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public IEnumerable<Role> Roles { get; set; }
}
public class Role
{
public string Name { get; set; }
}
我該如何讓Linq實體投影?
試過那種子查詢,但它總是「指定的LINQ表達式包含引用查看與不同上下文相關的查詢。「如在這種情況下。 – netdis
嘗試以上更新 –
現在開始工作,直接在'var userManager'中指定它,從roleManager.Roles'中的'r中移除角色。在當前設置調用ToList是好的。 – netdis