首页 > 其他分享 >Scaffold-DbContext使用教程

Scaffold-DbContext使用教程

时间:2023-02-07 14:36:34浏览次数:46  
标签:Core 教程 Scaffold EF DbContext 生成 数据库

1.基础准备

 

 

 安装对应的三个nuget包,第二个nuget由你使用数据库决定

 

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 "Data Source=.;uid=sa;pwd=123456;database=AdventureWorks2019;Trust Server Certificate=true;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models/EntityModels -Force

4.常见错误及解决

 

 解决方案:

 

 

示例:连接字符串增加信任证书设置Scaffold-DbContext "Data Source=.;uid=sa;pwd=123456;database=AdventureWorks2019;Trust Server Certificate=true;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models/EntityModels -Force 

 5.参考文档

https://www.cnblogs.com/xiaoqiyaozou/p/14285166.html

标签:Core,教程,Scaffold,EF,DbContext,生成,数据库
From: https://www.cnblogs.com/qcqc/p/17097375.html

相关文章

  • 图表控件LightningChart.NET 系列教程(八):LightningChart 组件——从工具箱添加至 Windo
    LightningChar​t.NET​ SDK是一款高性能数据可视化插件工具,由数据可视化软件组件和工具类组成,可支持基于Windows 的用户界面框架(WindowsPresentationFoundation)、Win......
  • 使用PHP连接、操纵Memcached的原理和教程
    Memcahced开源分布式内存对象缓存系统通过减少数据库的负担,从而能够加速你的web应用。在本文中我将解释怎样实现一个基于Memcahced的缓存系统。数据库实例中使用的数据库表......
  • Python openpyxl使用教程
    1.安装openpyxl组件pipinstallopenpyxl-ihttps://mirrors.aliyun.com/pypi/simple/新建Excel#coding=utf-8fromopenpyxlimportWorkbookwb=Workbook()#......
  • chatGPT 桌面版安装教程
    概述标题党了,首先声明ChatGPT官方没有桌面版,目前市面上很多的桌面应用也在是浏览器上包了一层,而且大多做的比较粗糙,不太好用,所以都不太推荐。作为一名骨灰级的程序员,C......
  • Redux 教程2 概述和概念吖
    需要两个插件吖,ReactDevToolsExtensionforChrome和ReduxDevToolsExtensionforChrome(还有forFireFox版本捏)action纯纯对象reducer纯纯函数土木er纯纯......
  • QML教程(七) JavaScript
    目录一、对属性值使用JavaScript表达式二、在QML中添加JavaScript函数三、使用JavaScript文件四、属性绑定中的JavaScript五、信号处理程序中的JavaScript......
  • QML教程(一)基础语法
    目录一、导入二、对象声明 三、对象属性1.声明对象属性2.信号属性3.方法属性4.附加属性略 5.枚举属性 6.对象属性赋值四、自定义对象  一、导入模块导......
  • 使用 oh-my-posh 美化教程
    windows终端美化教程一、更新自带的PowerShell打开PowerShell,使用$host查看版本号>$host......
  • CAN通信协议教程(Vector)
    概述本文转载自Vector官方教程-->VectorE-Learning,为方便查阅转载在此,其他详细课程和帮助还请在官方网站查阅。CAN学习模块目标群体该在线学习模块适用于所有希望......
  • PLC程序分析和数据下发测试教程
    在亿佰特介绍了西门子PLC如何通过函数块连接MQTT服务器和发布消息,前文为大家介绍​如何通过函数与函数块实现MQTT云消息的订阅,介绍到了MQTT服务器下发数据分析部分,本文接着......