dbfirst
Entity生成命令行:
Scaffold-DbContext "PORT=5435;DATABASE=DocumentDB;HOST=localhost;PASSWORD=1;USER ID=postgres;" Npgsql.EntityFrameworkCore.PostgreSQL -OutputDir Entities -Tables "fsrd_plugingroup","fsrd_plugingroupfunction" -Context ApplicationContext -Contextdir Data -Project BusinessOrg.API -StartupProject BusinessOrg.API
Scaffold-DbContext
数据库上下文脚手架
//0.Nuget下載包
//.Net Core 将默认DI改为Autofac
//Install-Package Autofac.Configuration
//Install-Package Autofac.Extensions.DependencyInjection
//DBFirst开发步骤
//Microsoft.EntityFrameworkCore
//Microsoft.EntityFrameworkCore.Tools
//Microsoft.EntityFrameworkCore.Design
//Microsoft.EntityFrameworkCore.SqlServer
//Microsoft.EntityFrameworkCore.SqlServer.Design
//1.通过数据库将生成Model,调出【程序包管理控制台】,选择项目,输入以下命令 将数据库中所有表生成Model
//Scaffold-DbContext "Server=120.27.16.5; Database=AppsDBDCE;Persist Security Info=True;User ID = sa; password=1qazXSW@;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
//命令解析:
//Scaffold-DbContext “数据库连接字符串” Microsoft.EntityFrameworkCore.SqlServer -OutputDir 输出的文件夹, 如无此参将生成到项目根目录
//如果只想生成某些表将使用Tables参数 如: -Tables(“table1”,”table2”,”table3”,”table4”)
//其他参数可输入 Scaffold-DbContext -? 查看帮助.
//postgresql数据库
//1、安装包
//Npgsql
//Npgsql.EntityFrameworkCore.PostgreSQL
//Npgsql.EntityFrameworkCore.PostgreSQL.Design
//2、执行语句
//PostGreSQL得时候:Scaffold-DbContext "Server=localhost;Database=postgresqlBase;User ID=postgres;Password=1qazXSW@;" Npgsql.EntityFrameworkCore.PostgreSQL -OutputDir PgSqlModels
scaffold-dbcontext
命令使用说明
工具的scaffold-dbcontext
(数据库上下文脚手架)指令来生成models
和context
。
指令详细介绍:
Scaffold-DbContext [-Connection] <String> [-Provider] <String> [-OutputDir <String>] [-Context <String>]
[-Schemas <String>] [-Tables <String>] [-DataAnnotations] [ -Force] [-Project <String>]
[-StartupProject <String>] [-Environment <String>] [<CommonParameters>]
PARAMETERS
-Connection <String>
指定数据库的连接字符串。
-Provider <String>
指定要使用的提供程序。例如,Microsoft.EntityFrameworkCore.SqlServer
。
-OutputDir <String>
指定用于输出类的目录。如果省略,则使用顶级项目目录。
-Context <String>
指定生成的DbContext类的名称。
-Schemas <String>
指定要为其生成类的模式。
-Tables <String>
指定要为其生成类的表。
-DataAnnotations [<SwitchParameter>]
使用DataAnnotation属性在可能的情况下配置模型。如果省略,输出代码将仅使用流畅的API。
-Force [<SwitchParameter>]
强制脚手架覆盖现有文件。否则,只有在没有输出文件被覆盖的情况下,代码才会继续。
-Project <String>
指定要使用的项目。如果省略,则使用默认项目。
-StartupProject <String>
指定要使用的启动项目。如果省略,则使用解决方案的启动项目。
-Environment <String>
指定要使用的环境。如果省略,则使用“开发”。
例子:
Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
Scaffold-DbContext
命令使用
1、官网地址
https://docs.microsoft.com/zh-cn/ef/core/cli/powershell#scaffold-dbcontext
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 "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Tables "Blog","Post" -ContextDir Context -Context BlogContext -ContextNamespace New.Namespace