示例:EntityFrameWorkCore迁移添加初始种子数据
程序员文章站
2023-12-28 12:00:58
...
一、目的:了解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