美文网首页
创建EF Core 数据库创建升级客户端

创建EF Core 数据库创建升级客户端

作者: 寻找无名的特质 | 来源:发表于2021-11-18 05:58 被阅读0次

EF Core项目在开发过程中创建升级和迁移脚本,同时更新开发数据库,当项目完成,需要部署到生产环境时,需要在生产环境创建或升级数据库。我们希望能够创建一个控制台程序,用它来控制数据库的升级过程,而不是在应用启动时自动升级。我们使用Asp.Net Core自带的Identity模块作为示例。

使用Visual Studio 创建一个Asp.Net Core Web项目,创建项目时身份认证类型选择个人数据库,这样项目会创建相应的EF Core代码。创建一个控制台项目,作为数据库升级工具,引用Web项目,增加如下代码:

using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using MyIdentity.Data;
using System;
using System.IO;

namespace MigrateIdentity
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Begin Migrate");
            var builder = new ConfigurationBuilder()
           .SetBasePath(Directory.GetCurrentDirectory())
           .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);

            IConfigurationRoot configuration = builder.Build();
            Console.WriteLine("Read Config");

            DbContextOptionsBuilder<ApplicationDbContext> optionsBuilder = new DbContextOptionsBuilder<ApplicationDbContext>();
            optionsBuilder.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));

           
            var db = new ApplicationDbContext(optionsBuilder.Options);

            db.Database.Migrate();

            Console.WriteLine("End Migrate");
        }
    }
}

代码很简单,主要是调用DbContext中Database的Migrate方法,这个方法是关系数据库的扩展。使用这个简单的工具,部署过程就变为:停止应用、更新应用和数据库升级工具、运行数据库升级工具、启动应用这几个步骤。

相关文章

网友评论

      本文标题:创建EF Core 数据库创建升级客户端

      本文链接:https://www.haomeiwen.com/subject/muzszltx.html