1.基础准备
安装对应的三个nuget包,第二个nuget由你使用数据库决定
2.命令说明
Scaffold-DbContext 为 DbContext 数据库的和实体类型生成代码。 为了使 Scaffold-DbContext 生成实体类型,数据库表必须具有主键。 参数: SCAFFOLD-DBCONTEXT 参数 说明 -连接 <String> 用于连接到数据库的连接字符串。 对于 ASP.NET Core 2.x 项目,值可以是 name = <name of connection string> 。 在这种情况下,该名称来自为项目设置的配置源。 这是一个位置参数,并且是必需的。 -提供程序 <String> 要使用的提供程序。 通常,这是 NuGet 包的名称,例如: Microsoft.EntityFrameworkCore.SqlServer,取决于你引用的是哪个包 。 这是一个位置参数,并且是必需的。 -OutputDir <String> 要在其中放置文件的目录。 路径相对于项目目录。 -ContextDir <String> 要在其中放置文件的目录 DbContext 。 路径相对于项目目录。 -命名空间 <String> 要用于所有生成的类的命名空间。 默认值为从根命名空间和输出目录生成。 在 EF Core 5.0 中添加。 -ContextNamespace <String> 要用于生成的类的命名空间 DbContext 。 注意:重写 -Namespace 。 在 EF Core 5.0 中添加。 -上下文 <String> DbContext要生成的类的名称。 -架构 <String[]> 要为其生成实体类型的表的架构。 如果省略此参数,则包括所有架构。 -表 <String[]> 要为其生成实体类型的表。 如果省略此参数,则包括所有表。 -DataAnnotations 使用属性可在可能) 的情况下配置模型 (。 如果省略此参数,则只使用 Fluent API。 -UseDatabaseNames 使用表和列的名称与数据库中显示的名称完全相同。 如果省略此参数,则更改数据库名称以更严格地符合 c # 名称样式约定,比如单复数形式。 -Force 覆盖现有文件。 -NoOnConfiguring 不生成 DbContext.OnConfiguring 。 在 EF Core 5.0 中添加。 -NoPluralize 请勿使用复数化程序。 在 EF Core 5.0 中添加。
3.示例
Scaffold-DbContext "Data Source=.;uid=sa;pwd=123456;database=AdventureWorks2019;Trust Server Certificate=true;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models/EntityModels -Force4.常见错误及解决
解决方案:
示例:连接字符串增加信任证书设置Scaffold-DbContext "Data Source=.;uid=sa;pwd=123456;database=AdventureWorks2019;Trust Server Certificate=true;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models/EntityModels -Force
5.参考文档
https://www.cnblogs.com/xiaoqiyaozou/p/14285166.html
标签:Core,教程,Scaffold,EF,DbContext,生成,数据库 From: https://www.cnblogs.com/qcqc/p/17097375.html