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
posted @   dreamw  阅读(1021)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享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,原理搞的透透的!
点击右上角即可分享
微信分享提示