私のデータベースでいくつかのテストデータを初期化しようとしていますが、アイデンティティフレームワークのApplicationUserにパスワードを追加する際にいくつか問題があります。dotnetコアにテストデータとしてApplicationUserを追加する方法
protected override void Seed(ApplicationDbContext db)
{
var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db));
var adminuser = new ApplicationUser { Email = "[email protected]", UserName = "[email protected]", FirstName = "admin", LastName = "test" };
userManager.Create(adminuser, "Password1.");
userManager.AddToRole(adminuser.Id, role:"admin");
}
が、シード法はDOTNETコアでサポートされていないとして、私は次のようにダミーデータを追加しようとしました:私は以前、私はこのようなシード法を使用している、これを行っている
:私はまた、私はシード法で使用したのと同じ方法を使用しようとしましたが、それは動作しません。どちらか私はラインに次のエラーメッセージが表示されますように私は、データベースへの結果1を追加した
using (var serviceScope =
app.ApplicationServices.GetRequiredService<IServiceScopeFactory>().CreateScope())
db.Database.EnsureCreated();
db.AddRange(
new ApplicationUser { UserName = "[email protected]", Email = "[email protected]" },
new ApplicationUser { UserName = "[email protected]", Email = "[email protected]" }
);
db.SaveChanges();
:
はServer.Models.ApplicationUser
using (var serviceScope =
app.ApplicationServices.GetRequiredService<IServiceScopeFactory>().CreateScope())
{
var db = serviceScope.ServiceProvider.GetService<ApplicationDbContext>();
var userManager = app.ApplicationServices.GetService<UserManager<ApplicationUser>>();
var au1 = new ApplicationUser { UserName = "[email protected]", Email = "[email protected]" };
var result1 = userManager.CreateAsync(au1, "Test123");
db.Users.Add(result1);
https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/working-with-sql#seed-the-database – Alexan