Scaffold-DbContext 命令使用

2021-09-06 14:41:51 浏览数 (1)

1、官网地址

代码语言:javascript复制
https://docs.microsoft.com/zh-cn/ef/core/cli/powershell#scaffold-dbcontext

2.命令说明

代码语言:javascript复制
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、示例

代码语言:javascript复制
Scaffold-DbContext "Server=(localdb)mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Tables "Blog","Post" -ContextDir Context -Context BlogContext -ContextNamespace New.Namespace
db

0 人点赞