Ich erstelle mein 4. Migrations-Skript mit EF Core (2.0.0). Dort möchte ich der Datenbank ein paar Rollen hinzufügen.Erstellen Sie eine Rolle mit Entity Framework-Kernmigrationen
Das Problem ist, dass ich nicht wirklich sicher bin, wie man das macht. Zur Zeit habe ich dies:
protected override void Up(MigrationBuilder migrationBuilder)
{
// todo: Pass connection string somehow..?
var opt = new DbContextOptions<ApplicationContext>();
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new ApplicationContext(opt)));
//if (!roleManager.RoleExists("ROLE NAME"))
//{
// todo: create the role...
//}
}
Aber die RoleManager
wie das Erstellen gibt mir die folgende Fehlermeldung:
There is no argument given that corresponds to the required formal parameter 'roleValidators' of 'RoleManager.RoleManager(IRoleStore, IEnumerable>, ILookupNormalizer, IdentityErrorDescriber, ILogger>)'
Ich bin nicht sicher, wie dieses Problem zu lösen. Ich konnte keine Informationen darüber finden, wie man dies in .NET Core mit Migrationen richtig macht.
Ich bin vor zwei Ausgaben in diesem Code:
- Ich versuche irgendwie eine Instanz des DbContext zu erstellen. Kann ich den DbContext nicht aus meinem Migrationscode herausholen?
- Instantiieren der
RoleManager
wie folgt funktioniert nicht und muss gelöst werden.
Wie kann ich diese Probleme lösen?