创建.net core ef项目
.net core 自动生成EF代码
参考以上资料,在此详细记录
数据库已经建好了。现在就剩EF模型
完成结果
首先为Entity项目安装三个包。具体参考.net core 自动生成EF代码
在安装包的过程中遇到了版本冲突,参考.NET CORE 学习笔记之安装EF【Microsoft.EntityFrameworkCore】扩展报错
具体解决方法是:查看报错信息看它提示的一个版本范围来安装三个包
1.Install-Package Microsoft.EntityFrameworkCore.SqlServer。
2.Install-Package Microsoft.EntityFrameworkCore.Tools。
3.Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design。
两种办法安装。
1、项目右键选中管理Nuget包
2、控制台安装 (选择默认安装)
三个包安装成功后,开始生成代码
选择工具->NUget包管理器->控制台程序
这里要注意 要选择默认项目 在输入命令生成
输入命令
Scaffold-DbContext "Data Source=120.0.0.7,9100;Initial Catalog=hisdb;User ID=sa;Password=123;
MultipleActiveResultSets=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Model
Scaffold-DbContext “Data Source=数据库地址;Initial Catalog=数据库名称;User ID=用户名;Password=密码;MultipleActiveResultSets=True;” Microsoft.EntityFrameworkCore.SqlServer -OutputDir 生成的文件夹名名称
成功后在项目下可以看到一个文件夹
**
补充
当你的项目整体框架搭建好后,如果数据库更新,请不要删除modes文件,即是你生成的上下文字段和实体类的文件,要覆盖 具体使用 在后面加个-Force
比如: -OutputDir Models -Force
参数 描述
-连接<字符串 > 数据库的连接字符串。 对于 ASP.NET Core 2.x 项目,值可以是名称 =<的连接字符串名称 > 。 在这种情况下名称来自于为项目设置的配置源。 这是位置参数,是必需的。
-Provider 要使用的提供程序。 通常这是 NuGet 包的名称为例: Microsoft.EntityFrameworkCore.SqlServer。 这是位置参数,是必需的。
-OutputDir 要将文件放入的目录。 路径是相对于项目目录。
-ContextDir 要放置的目录DbContext文件中。 路径是相对于项目目录。
-Context 名称DbContext类生成。
-Schemas <String[]> 要生成的实体类型的表架构。 如果省略此参数,则包括所有架构。
-Tables <String[]> 要生成的实体类型的表。 如果省略此参数,则包括所有表。
-DataAnnotations 特性用于将模型配置 (如果可能)。 如果省略此参数,则使用仅 fluent API。
-UseDatabaseNames 在数据库中显示的完全相同,请使用表和列的名称。 如果省略此参数,则会更改数据库名称,使其更紧密地符合 C# 名称样式约定。
-Force 覆盖现有文件。
**
后续更新
如果想确定context名称的话
-Context 名称DbContext类生成。
在上面的命令后面加上 -Context 上下文文件名