Fehle ich etwas oder wurde die Definition für Benutzer aus IdentityRole
in Identity Core 2 entfernt?Fehlt IdentityRole IdentityRole Definitionen für Benutzer?
Ich benutze asp.net Core 2 und ich muss die Anzahl der Benutzer pro Rolle berechnen. Dies funktionierte gut in Core-1 mit dem folgenden Standardcode
public class ApplicationRoleController : Controller
{
private readonly RoleManager<ApplicationRole> roleManager;
public ApplicationRoleController(RoleManager<ApplicationRole> roleManager)
{
this.roleManager = roleManager;
}
[HttpGet]
public IActionResult Index()
{
List<ApplicationRoleListViewModel> model = new List<ApplicationRoleListViewModel>();
model = roleManager.Roles.Select(r => new
{
RoleName = r.Name,
Id = r.Id,
Description = r.Description,
NumberOfUsers = r.Users.Count
}).ToList()
.Select(r => new ApplicationRoleListViewModel
{
RoleName = r.RoleName,
Id = r.Id,
Description = r.Description,
NumberOfUsers = r.NumberOfUsers
}).ToList();
return View(model);
}
In My Anwendung mit Core 2, die Linie NumberOfUsers = r.Users.Count
, wobei r aus der Klasse ApplicationRole
mit dem Fehler abgeleitet wird, dass „ApplicationRole enthält keine Definition für Benutzer "Die ApplicationRole
erbt von IdentityRole
.
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using System;
public class ApplicationRole : IdentityRole
{
public string Description { get; set; }
public DateTime CreatedDate { get; set; }
public string IPAddress { get; set; }
}
'IdentityRole' hat noch nie eine' Benutzer 'Eigenschaft importiert wird. Die Beziehung zwischen Rollen und Benutzern wurde immer über die Entität 'IdentityUserRole' definiert, die jeweils Fremdschlüssel, aber auch keine Navigationseigenschaften hatte. –
@Chriss Danke für den Kommentar. Aber warum funktioniert der Code mit Core 1 und funktioniert nicht mehr in Core 2? Ich bleibe verwirrt. –