Scaffold-DbContext
Scaffold-DbContext
是 EntityFramework(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"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
参数
无码说个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://blog.csdn.net/WuLex/article/details/112614073
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2021-08-03 英语老是学不好,试试我的小方法
2021-08-03 技能篇:git的简易教程
2021-08-03 【系统学习ES6】第一节:新的声明方式
2021-08-03 【进阶之路】动态代理与字节码生成
2021-08-03 如何写好技术文档——来自Google十多年的文档经验
2021-08-03 谈谈 C++ STL 中的迭代器
2021-08-03 几百行代码写个Mybatis,原理搞的透透的!