一、配置环境
1.配置连接字符串
2.引用nuget包
二、构建批量迁移
1.创建DemoDbContext注入Dbcontext,这是将 AddDbContext 的上下文配置传递到 DbContext 的方式
2.创建抽象类EntityBase
3.将所有实体类继承EntityBase类
4.DemoDbContext类重写OnModelCreating方法
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
var types = AppDomain.CurrentDomain.GetAssemblies()//读取所有程序集
.Where(n => n.FullName.Contains("dataDemo"))//获取程序集名称包含DataDemo
//获取所有继承父类的子类
.SelectMany(n => n.GetTypes().Where(q => q.IsSubclassOf(typeof(EntityBase)))).ToArray();
foreach (var item in types)
{
//过滤抽象类
if (item.IsAbstract)
{
continue;
}
modelBuilder.Entity(item);
}
base.OnModelCreating(modelBuilder);
}
5.添加数据库配置DemoDbContext
//添加数据库配置
var dbcontext = builder.Configuration.GetConnectionString("TestDB");
builder.Services.AddDbContext<DemoDbContext>(dbContextOptions=>{
dbContextOptions.UseSqlServer(dbcontext);
});
6.使用迁移命令Add-migration看看是否配置成功
7.最后使用Update-database将表更新到数据库中
1.仅供学习,如有错误请大佬留言指出
2.参考文章EF6官方文档