EFCore CodeFirst使用包管理控制台进行迁移的三种方式
记录一下在学习EFCore 的困惑,EFCore 必须通过Startup依赖注入去进行迁移吗?查阅官方文档以及做了一些简单的测试后,把结论在记录一下。
CodeFirst是先在程序中建立好实体类,然后再自动生成数据库。
其中,通过Nuget命令行实现CodeFirst是最常用的方式
迁移工具执行迁移前,要获取数据库配置信息,而配置信息的获取和DbContext实例化的方式有关。
我们要让EF自动生成数据库,我们就要想办法告诉EF数据库的信息,包括数据库连接字符串,映射关系等等,不然EF怎么知道该如何去帮你建立对应的数据库和表呢?
使用Nuget命令行进行迁移时,官方提供了三种迁移的方法。
具体操作过程:
一.前置准备:
1.准备好可用的数据库:
以SQLSERVER为例,EFCore3.1以上版本要求数据库版本最低为SQLSERVER2012。
2.安装依赖项:
2.1 类库安装
注意:
所有的依赖项都需要统一版本,否则会出错。
继承DbContext的子类项目以及startup类所在项需要完整引用5个库。
2.2 安装Nuget命令行工具
具体过程不详述,网上容易找到。
成功安装后通过工具->Nuget包管理器->程序包管理器控制台唤起