NetCore EFCore DbFirst 连接 MsSql

Nuget

1.打开【程序包管理器控制台】,指定类库添加NuGet包:

install-package Microsoft.EntityFrameworkCore  -project Models -version 5.0.12
install-package Microsoft.EntityFrameworkCore.Tools  -project Models -version 5.0.12
install-package Microsoft.EntityFrameworkCore.Design  -project Models -version 5.0.12
install-package Microsoft.EntityFrameworkCore.SqlServer  -project Models -version 5.0.12
install-package Microsoft.EntityFrameworkCore.SqlServer.Design  -project Models

2.可能存在的异常:把当前类库框架设置为 2.1

install-package : NU1202: 包 Microsoft.EntityFrameworkCore 5.0.12 与 netstandard2.0 (.NETStandard,Version=v2.0) 不兼容。 包 Microsoft.EntityFrameworkCore 5.0.12 支持: netstandard2.1 (.NETStandard,Version=v2.1)

使用命令生成实体:Scaffold-DbContext

1.命令

1.1直接使用连接字符串生成实体

Scaffold-DbContext "Server=***;User Id=***;Password=***;Database=***;Persist Security Info=True;" Microsoft.EntityFrameworkCore.SqlServer -o Models -f

1.2.读取配置文件生成实体

Scaffold-DbContext "Name=ConnectionStrings:DefaultConnection" Microsoft.EntityFrameworkCore.SqlServer -o Models -f

1.3.参数介绍

参数    说明
-Connection <String>    用于连接到数据库的连接字符串。 对于 ASP.NET Core 2.x 项目,该值可以是 name=<name of connection string>。 在这种情况下,名称来自为项目设置的配置源。 这是一个位置参数,并且是必需的。
-Provider <String>    要使用的提供程序。 通常,这是 NuGet 包的名称,例如:Microsoft.EntityFrameworkCore.SqlServer。 这是一个位置参数,并且是必需的。
-OutputDir <String>    要在其中放置实体类文件的目录。 路径相对于项目目录。
-ContextDir <String>    要在其中放置 DbContext 文件的目录。 路径相对于项目目录。
-Namespace <String>    要用于所有生成的类的命名空间。 默认设置为从根命名空间和输出目录生成。
-ContextNamespace <String>    要用于生成的 DbContext 类的命名空间。 注意:重写 -Namespace。
-Context <String>    要生成的 DbContext 类的名称。
-Schemas <String[]>    要为其生成实体类型的表和视图的架构。 如果省略此参数,则包含所有架构。 如果使用此选项,则架构中的所有表和视图都将包含在模型中,即使它们未使用 -Table 显式包含也是如此。
-Tables <String[]>    要为其生成实体类型的表和视图。 可以使用“schema.table”或“schema.view”格式包含特定架构中的表或视图。 如果省略此参数,则包括所有表和视图。
-DataAnnotations    使用属性配置模型(如果可能)。 如果省略此参数,则仅使用 Fluent API。
-UseDatabaseNames    使用表、视图、序列和列名与在数据库中显示的名称完全相同。 如果省略此参数,数据库名称将更改为更符合 C# 名称样式约定。
-Force    覆盖现有文件。
-NoOnConfiguring    不生成 DbContext.OnConfiguring。
-NoPluralize    请勿使用复数化程序。

2.异常

2.1.可能存在的异常: 启动项目没有添加【Microsoft.EntityFrameworkCore.Design】

Your startup project 'XXXProjectName' doesn't reference Microsoft.EntityFrameworkCore.Design. This package is required for the Entity Framework Core Tools to work. Ensure your startup project is correct, install the package, and try again.

install-package Microsoft.EntityFrameworkCore.Design -project XXXProjectName

 2.2.异常: 包 Microsoft.EntityFrameworkCore.Design 6.0.0 与 netcoreapp3.1 (.NETCoreApp,Version=v3.1) 不兼容:安装指定版本的【Microsoft.EntityFrameworkCore.Design】

install-package Microsoft.EntityFrameworkCore.Design -version 5.0.12

2.3.NET6 EF Error: The certificate chain was issued by an authority that is not trusted

 
 

 

posted @ 2021-11-08 14:44  Robot-Blog  阅读(314)  评论(0编辑  收藏  举报