当前位置 : 主页 > 网络编程 > ASP >

Entity Framework Core生成数据库表

来源:互联网 收集:自由互联 发布时间:2023-01-30
目录 一、引言 二、具体示例 1、代码生成 2、程序包管理器控制台迁移 1、安装Microsoft.EntityFrameworkCore.Tools包 2、添加迁移命令 3、更新数据库 3、命令行迁移 1、添加迁移 2、更新数据库
目录
  • 一、引言
  • 二、具体示例
    • 1、代码生成
    • 2、程序包管理器控制台迁移
      • 1、安装Microsoft.EntityFrameworkCore.Tools包
      • 2、添加迁移命令
      • 3、更新数据库
    • 3、命令行迁移
      • 1、添加迁移
      • 2、更新数据库
  • 三、总结

    一、引言

    生成数据库表有下面的三种方式:

    • 代码生成。
    • 程序包管理器控制台迁移。
    • 命令行迁移。

    下面分别介绍上面的三种方法。

    二、具体示例

    1、代码生成

    在程序里面执行下面的代码可以在运行时生成数据库:

    dbContext.Database.EnsureCreated()

    其中dbContext是数据上下文的实例对象。看下面的代码:

    using EFCore.Data;
    using System;
    
    namespace EFCore.Con
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Hello World!");
                // 实例化数据上下文对象
                EFDbContext dbContext = new EFDbContext();
                // 生成数据库
                bool tfTrue = dbContext.Database.EnsureCreated();
                if (tfTrue)
                {
                    Console.WriteLine("数据库创建成功!");
                }
                else
                {
                    Console.WriteLine("数据库创建失败!");
                }
    
                Console.ReadKey();
            }
        }
    }

    运行程序,查看效果:

    提示创建成功,我们去数据库查看,发现会自动创建数据库,并且添加了表:

    这种方式只能执行一次,如果再次执行,就会提示创建数据库失败。

    2、程序包管理器控制台迁移

    使用程序包管理器控制台迁移的方式分为三个步骤。

    1、安装Microsoft.EntityFrameworkCore.Tools包

    由于迁移需要使用到Microsoft.EntityFrameworkCore.Tools包,所以先要在EFCore.Data类库项目上安装这个包,直接在NuGet里面安装即可。

    这里是把EFCore安装在一个单独的类库项目里,所以作为启动项的控制台程序也要安装这个包。

    2、添加迁移命令

    使用下面的命令可以生成一个迁移:

    Add-Migration Init_First

    其中Init_First是为这次迁移起的一个名称,如下图所示:

    执行完迁移命令以后,会自动生成几个文件:

    • 20200224163036_Init_First.cs:是针对本次迁移生成的文件。每次迁移都会生成一个对应的迁移文件。里面有一个Up方法和一个Down方法,Up方法表示要执行的操作,Down方法相当于回滚,如果需要还原到上一个状态,就会执行Down方法。
    • EFDbContextModelSnapshot.cs:生成的配置文件。只会生成一次。

    3、更新数据库

    执行完上面的迁移命令,执行下面的命令就可以更新到数据库:

    Update-Database

    如下图所示:

    这样就会自动生成数据库。

    3、命令行迁移

    我们可以在PowerShell或者CMD命令行窗口里面进行迁移,使用命令行迁移分为下面的两个步骤。

    1、添加迁移

    首先我们要进入EFCore.Data目录下面,然后执行下面的命令添加迁移:

    dotnet ef migrations add Initial

    如下图所示:

    迁移之后同样会生成上面所讲的文件。 

    2、更新数据库

    执行下面的命令会将配置更新到数据库:

    dotnet ef database update

    如下图所示:

    执行成功以后就会生成数据库。

    三、总结

    上面介绍了三种生成数据库表的方式,代码生成的方式适合于控制台程序,这种方式不太常用。尤其是在Web项目里面,经常使用第二种和第三种方式。

    到此这篇关于Entity Framework Core生成数据库表的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持自由互联。

    上一篇:Entity Framework Core种子数据Data-Seeding
    下一篇:没有了
    网友评论