【发布时间】:2019-03-05 00:27:12
【问题描述】:
如何在 .NET Core 中运行种子方法?
这是我的 onModelBuilding 方法:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
Users user = new Users
{
Id = Guid.NewGuid().ToString(),
UserName = "system@admin.com",
Email = "system@admin.com",
FirstName = "System",
LastName = "Administrator",
CreatedOn = DateTime.Now,
UpdatedOn = DateTime.Now
};
PasswordHasher<Users> passwordHasher = new PasswordHasher<Users>();
user.PasswordHash = passwordHasher.HashPassword(user, "P@ssw0rd");
modelBuilder.HasDefaultSchema(schema: DatabaseGlobals.SchemaName);
modelBuilder.Entity<Users>().HasData(
user
);
modelBuilder.Entity<UserRoles>().HasKey(k=>new { k.UserId, k.RoleId});
modelBuilder.Entity<Applications>();
modelBuilder.Entity<Roles>();
modelBuilder.Entity<EventLogs>();
base.OnModelCreating(modelBuilder);
}
我尝试运行 Update-database 但它没有执行任何操作,因为我的表已经创建。
我的模型位于 ClassLibrary 中,但我没有 Startup.cs 文件
【问题讨论】:
-
这似乎更像是一个实体框架核心问题
-
我不确定。在 ASP.NET MVC 5 中,种子将在表创建后运行。但我不确定它在这里是如何工作的。
标签: c# entity-framework-core database-migration