EF Core开发模式之DB First

EF Core开发模式之DB First

  DB First模式比较符合我们的传统开发模式,概念模型设计完成后,首先创建数据库,然后通过EF Core与数据库建立映射关系,以数据库为驱动,自动生成C#的实体模型,从而驱动整个开发流程。

一、环境准备

  • 开发环境:.NET Core 3.1
  • IDE工具:Visual Studio 2019
  • 数据库:SQL Server 2012

二、依赖Package包

Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.Tools(对Scaffold-DbContext命令的支持)

可通过“dotnet cli” 命令行或“nuget包管理器”添加依赖包引用。

  1.通过“dotnet cli命令行”添加所需的依赖包。

在要添加引用的项目文件夹根目录打开命令行窗口,执行添加package的命令即可。dotnet cli命令行添加package语法如下:
模板: dotnet add package <packageName>
例子:dotnet add package Microsoft.EntityFrameworkCore.Tools
如在项目“efc1”中添加“Microsoft.EntityFrameworkCore.Tools”包。

  2. 通过Visual Studio中的“nuget包管理器”实现相关包的添加。

在VS中打开“nuget包管理器”,搜索找到我们需要的Package,选择要添加到的项目后,点击安装即可。

三、生成实体模型

  1.在Visual Studio中打开“程序包管理器控制台”;

  2.在控制台命令行中,输入Scaffold-DbContext命令,完成从数据库到C#模型代码的自动创建。

Scaffold-DbContext "Data Source=.;Initial Catalog=EFTest;Persist Security Info=True;User ID=sa;PWD=as" Microsoft.EntityFrameworkCore.SqlServer -o Models -f
如果运行出错可以考虑:数据库名称是否出错(Initial Catalog=EFTest);账户和密码是否出错(User ID=sa;PWD=as)。

**其中,命令中的“Microsoft.EntityFrameworkCore.SqlServer”,指明了使用SqlServer数据库Provider,用来连接SqlServer数据库,其它数据库需要调整相应的Provider即可。

Scaffold-DbContext命令参数说明:

-OutputDir (-o) :实体文件所存放的文件目录

-ContextDir : DbContext文件存放的目录

-Context : DbContext文件名

-Schemas : 需要生成实体数据的数据表所在的模式

-Tables(-t) : 需要生成实体数据的数据表的集合

-Force (-f)强制执行,重写已经存在的实体文件**

  3.命令执行完成后,在项目的Models目录下,就自动的创建好了相关的实体模型类和DbContext上下文类了,之后我们直接使用即可。

此图中包含项目原有的文件,同时代码部分为任意选取的一个文件的任意部分

此图中包含项目原有的文件,同时代码部分为任意选取的一个文件的任意部分

本博客所有内容均为学习日记,如有错误,烦请指正;如有侵权,请联系作者删除。 有关文章内容方面,请尽情留言,大家相互探讨
原文地址:https://www.cnblogs.com/nvyuan/p/12323702.html