Scaffold-DbContext

Scaffold-DbContextEntityFramework(Core) 用来生成数据库上下文的一个脚手架工具.

应用场景

当你有一个现成的数据库时,可以使用 Scaffold-DbContext 生成对应的数据库上下文类及模型类,然后使用 EntityFrameworkCore 的方式来愉快的调用,这里会有点 Database-First的味道.

帮助

PM> get-help Scaffold-DbContext
 
名称
    Scaffold-DbContext
    
摘要
    Scaffolds a DbContext and entity types for a database.
    
    
语法
    Scaffold-DbContext [-Connection] <String> [-Provider] <String> [-OutputDir <String>] [-ContextDir <String>] [-Context <String>] [-Schemas <String[]>] [-Tables <Strin
    g[]>] [-DataAnnotations] [-UseDatabaseNames] [-Force] [-Project <String>] [-StartupProject <String>] [<CommonParameters>]
    
    
说明
    Scaffolds a DbContext and entity types for a database.
    
 
相关链接
    about_EntityFrameworkCore 
 
备注
    若要查看示例,请键入: "get-help Scaffold-DbContext -examples".
    有关详细信息,请键入: "get-help Scaffold-DbContext -detailed".
    若要获取技术信息,请键入: "get-help Scaffold-DbContext -full".
    有关在线帮助,请键入: "get-help Scaffold-DbContext -online"

参数

无码说个J8,先来一段:

PM> Scaffold-DbContext
-Connection “server=127.0.0.1;uid=user;pwd=pwd;database=databse;”
-Provider Pomelo.EntityFrameworkCore.MySql
-OutputDir Models
-Context MySqlDbConetxt
-Project Zaohua.UserRepository

然后再来看看参数:

参数名称是否必填默认值描述
Connection必填“”数据库链接字符串,各个数据库的都不大一样
Provider必填“”提供器,针对各个数据库的,通常等于 NuGet 对应的包名称
Project可选当前类库项目,用来指定脚手架生成的内容放到哪个项目下
OutputDir可选项目目录下输出目录,用来指定脚手架生成的内容放到哪个目录下,通常指定为"Models"
Context可选数据库名称+Context上下文名称,用来指定脚手架生成的上下文名称
Force可选flag 参数,无值强制重写现有的模型类文件
可选其他一些参数,用到了在补充吧…

Connection

参数 Connection 常见的值如下:

  • Mircosoft SQL Server: ``
  • MySQL: “server=host;uid=user;pwd=password;database=database;”
  • SQLite: Data Source=App_Data/My.db

通常像这样使用:

PM> Scaffold-DbContext -Connection “值” -其他参数

Provider

参数 Provider 常见的值如下:

  • Mircosoft SQL Server: Microsoft.EntityFrameworkCore.SqlServer
  • MySQL: MySql.Data.EntityFrameworkCore - Oracle官方出的包总是有问题,可用下面这个代替
  • MySQL: Pomelo.EntityFrameworkCore.MySql
  • Sqlite: Microsoft.EntityFrameworkCore.Sqlite
  • Oracle: … - 暂时没找到什么好用的,再说

通常像这样使用:

PM> Scaffold-DbContext -Provider 值 -其他参数

Force

参数 Force 通常用来强制重写现有的模型类文件,比如多次生成时.

可以用来规避此类问题Use the Force flag to overwrite these files.

像这样使用:

PM> Scaffold-DbContext -Force -其他参数

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值