一、目的:瞭解EntityFrameWorkCore遷移添加初始種子數據的方法
二、步驟:
遷移部分請參考EntityframeWorkCore應用MySql做數據遷移部分
1、在DataContext中重寫OnModelCreating方法
public class DataContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMySQL("server=localhost;userid=root;pwd=123456;port=3306;database=test;sslmode=none;");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<City>().HasData(
new City{Id = 1,Name = "成都"}, new City {Id =5,Name = "北京" });
}
public DbSet<City> Citys { get; set; }
}
其中, modelBuilder.Entity<City>().HasData( new City{Id = 1,Name = "成都"}, new City {Id =5,Name = "北京" });部分既是要添加的初始種子數據
2、在程序包管理器中執行add-migration initcitydata命令
輸出如下:To undo this action, use Remove-Migration.標識生成代碼執行成功
3、在程序包管理器中執行update-database命令
輸出如下:
Applying migration '20190513104003_changehasdata'.
Done.
並檢查數據庫中數據是否被初始化,如數據正常表示更新數據庫操作陳宮
示例地址:https://github.com/HeBianGu/.NetCore-LearnDemo.git