Entity Framework Core生成数据库表

 更新时间:2022年03月25日 09:24:07   作者:.NET开发菜鸟  
这篇文章介绍了Entity Framework Core生成数据库表的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、引言

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

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

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

二、具体示例

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生成数据库表的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • asp.net下DataSet.WriteXml(String)与(Stream)的区别

    asp.net下DataSet.WriteXml(String)与(Stream)的区别

    asp.net下DataSet.WriteXml(String)与(Stream)的区别...
    2007-04-04
  • 为Visual Studio2019添加Git组件

    为Visual Studio2019添加Git组件

    这篇文章介绍了为Visual Studio2019添加Git组件的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 详解ASP.NET Core Token认证

    详解ASP.NET Core Token认证

    这篇文章主要介绍了详解ASP.NET Core Token认证,小编觉得挺不错的,现在分享给大家,也给大家做个参考。
    2016-12-12
  • ASP.NET餐饮管理系统制作代码分享

    ASP.NET餐饮管理系统制作代码分享

    本文通过图片+代码的形式,详细的介绍了餐饮管理系统各部分功能及其实现方法。餐饮管理系统的制作必须有一条条理性的思维方可以做好,感兴趣的小伙伴们可以参考一下
    2015-09-09
  • 厚积薄发,拥抱.NET 2016

    厚积薄发,拥抱.NET 2016

    一想到.NET 2016,脑海里蹦出的第一个词就是厚积薄发。 .NET 2016 是 .NET 一次质的飞跃,不管难易,我们需要拥抱变化
    2016-06-06
  • ABP入门系列之Json格式化

    ABP入门系列之Json格式化

    ,JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。本文重点给大家介绍ABP入门系列之Json格式化,需要的朋友可以参考下
    2017-03-03
  • ASP.NET Core实现自动依赖注入

    ASP.NET Core实现自动依赖注入

    这篇文章主要介绍了ASP.NET Core实现自动依赖注入的示例,帮助大家更好的理解和学习使用.net技术,感兴趣的朋友可以了解下
    2021-04-04
  • Ajax.net 显示错误信息的设置

    Ajax.net 显示错误信息的设置

    有时候我们在使用asp.net想让他显示出错的原因等情况,大家可以仔细看下参数,属性等
    2009-01-01
  • .NET微信公众号查看关注者接口

    .NET微信公众号查看关注者接口

    这篇文章主要为大家详细介绍了.NET微信公众号查看关注者接口的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • AspNetPager+GridView实现分页的实例代码

    AspNetPager+GridView实现分页的实例代码

    AspNetPager+GridView实现分页的实例代码,需要的朋友可以参考一下
    2013-03-03

最新评论