içine varlık nesnesine Linq Roles
özelliği eşleme ile ilgili bir sorunla karşılaştı, bu nedenle UserViewModel
karşılık gelir.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'i Varlıklar projeksiyonuna nasıl yapmalıyım? Kullandığınız yana
Bu tür bir alt soruyu denedi, ancak her zaman "Belirtilen LINQ ifadesi, bkz. farklı bağlamlarla ilişkili sorgulara girer. " bu durumda olduğu gibi. – netdis
Güncelleştirmeyi deneyin Yukarıdaki –
Artık, 'var userManager' içinde doğrudan belirttiğiniz şekilde, roleManager.Roles' öğesinden Rol'leri kaldırın. Mevcut kurulumda ToList'in çağrılması iyi. – netdis