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 to Entitiesプロジェクションはどのようにすればよいですか?
この種のサブクエリを試しましたが、常に「指定されたLINQ式にはreferさまざまなコンテキストに関連付けられたクエリを実行します。この場合のように。 – netdis
上記のアップデートを試してください –
'varuserManager'で直接指定するので、' r roleManager.Roles'のロールを削除しました。現在のセットアップでは、ToListを呼び出すことは問題ありません。 – netdis