Scaffold-DbContext

本文介绍Scaffold-DbContext工具,用于从现有数据库生成Entity Framework Core的数据库上下文和实体模型。文章详细解释了如何使用此工具,并提供了常见数据库连接字符串和提供者的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 -其他参数

...

转载于:https://my.oschina.net/taadis/blog/2221295

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值