.NET使用一行命令轻松生成EF Core项目框架

dotnet ef是Entity Framework Core(EF Core)的一个命令行工具,用于管理EF Core应用程序的数据库和代码。除了提供管理数据库的命令之外,dotnet ef还可以生成和管理实体和上下文代码。本文将介绍如何使用dotnet ef动态生成代码。

一、环境准备

1、项目准备

用vs2022新建一个.NET6的asp.net core mvc项目,然后按照:工具->Nuget包管理器->nuget管理解决方案包。安装一些nuget包

Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools

或者用nuget命令安装

Install-Package Microsoft.EntityFrameworkCore.Design
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools

2、安装dotnet ef

工具->Nuget包管理器->程序包管理控制台

执行 dotnet tool install --global dotnet-ef --version x.x.x  注:这里的包版本要和上面的版本一致,这个包直接通过右键管理程序nuget包方式安装会报冲突错误,谁知道原因可以说一下。

安装成功标志

图片

二、生成代码

在vs2022中点击项目右键,选择"在终端中打开"。在命令行中运行以下命令,生成实体类,模型的代码:

dotnet ef dbcontext scaffold "Data Source=.;Initial Catalog=Wan;Persist Security Info=True;User ID=sa;Password=654321;TrustServerCertificate=true" Micros
oft.EntityFrameworkCore.SqlServer --output-dir Entities --context NewDbContext

上面脚本解释:

scaffold后面是数据库链接字符串,--output-dir参数指定输出目录,--force参数表示强制覆盖生成的文件。运行这个命令将生成一个或多个实体类的代码。--context参数为指定上下文类的名称。

图片

亦可以用以下命令一键生成。

dotnet ef dbcontext scaffold "Data Source=.;Initial Catalog=Wan;Persist Security Info=True;User ID=sa;Password=654321;TrustServerCertificate=true" Microsoft.EntityFrameworkCore.SqlServer  -o Models

-o Models的意思是将生成的实体类文件输出到名为Models的文件夹中。这里没有指定上下文,默认上下文的文件名为数据库名称。

效果如下:

图片

片段代码如下:

图片

小插曲:

在生成代码时遇到如下问题:

A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的。)

解决方法直接在“数据库连接字符串最后面”增加证书信任的配置。;TrustServerCertificate=true。

结语

使用dotnet ef可以轻松地生成实体和上下文类的代码。在EF Core应用程序中,这是一个非常方便的工具,因为它可以减少手动编写代码的时间,并提供了基本的代码框架,使您可以专注于业务逻辑的实现。本文介绍了它的实现步骤,仅供参考,希望本文对你有所收获,同时欢迎留言和吐槽。

****参考:微软官网文档

来源公众号:DotNet开发跳槽

原文链接:https://www.cnblogs.com/xbhp/archive/2023/04/27/17358602.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:.NET使用一行命令轻松生成EF Core项目框架 - Python技术站

(0)
上一篇 2023年4月27日
下一篇 2023年4月27日

相关文章

  • ASP.NET Core中的Configuration配置二

    ASP.NET Core中的Configuration配置二 在ASP.NET Core中,读取配置文件是非常常见的操作。本攻略提供详细的步骤和示例说明,演示如何在ASP.NET Core应用程序中读取配置文件。 步骤 步骤1:创建一个新的ASP.NET Core应用程序 首先,需要创建一个新的ASP.NET Core应用程序。可以使用以下命令在命令行中创建…

    C# 2023年5月17日
    00
  • .NET连接数据库以及基本的增删改查操作教程

    针对“.NET连接数据库以及基本的增删改查操作教程”的攻略,我会详细解释和示范以下几个方面: 准备工作:安装数据库,引入相关的库文件 连接数据库:通过连接字符串实现数据库连接 实现增删改查操作:使用SQL语句和相关的类库实现相应的操作 下面参考示例将一一进行详细讲解。 1. 准备工作 首先要确定使用的数据库类型,例如MSSQL、MySQL等。在此我们以MS …

    C# 2023年5月31日
    00
  • Winform学生信息管理系统登陆窗体设计(1)

    下面是Winform学生信息管理系统登陆窗体设计的完整攻略。 一、设计思路 设计一个Winform学生信息管理系统登陆窗体需要以下几步: 新建一个Winform项目,添加登陆窗体。 设计登陆窗体的布局,包括添加组件,设置组件属性等。 为登陆窗体的组件添加事件处理程序,比如点击按钮触发登陆操作。 在事件处理程序中,编写验证登陆信息的代码,并执行相应的操作。 二…

    C# 2023年6月3日
    00
  • 用C#编写ActiveX控件(三)

    那么让我们详细讲解一下”用C#编写ActiveX控件(三)”的完整攻略。 什么是ActiveX控件 ActiveX是一种软件组件技术,它允许应用程序在多个不同的操作系统和应用程序之间共享代码。ActiveX控件是一种可以在Web浏览器中嵌入的交互式控件。 为什么用C#编写ActiveX控件 C#是一种非常流行的编程语言,它有着丰富的库和框架,同时也具有强大的…

    C# 2023年6月7日
    00
  • C# 通过同步和异步实现优化做早餐的时间

    C# 通过同步和异步实现优化做早餐的时间 在使用C#进行编程时,我们可以通过同步和异步的方式来优化做早餐的时间。下面是具体的攻略: 1. 同步方式 步骤 以下是实现使用同步方式做早餐的步骤: 准备食材:蛋、面包、黄油、盐、牛奶 var egg = GetEgg(); var bread = GetBread(); var butter = GetButter…

    C# 2023年6月1日
    00
  • C#使用正则表达式过滤html标签

    下面是使用C#过滤html标签的完整攻略。 1. 正则表达式 我们知道,HTML标签的特点是以<开头,以>结尾,并且中间可能会有一些属性,例如<div class=”my-class”>。为了过滤掉HTML标签,我们可以使用正则表达式,其中最基础的正则表达式如下: <[^>]+> 这个表达式表示匹配所有以<开头…

    C# 2023年6月7日
    00
  • C#实现注册码注册机制效果详解

    C#实现注册码注册机制效果详解 前言 软件开发中,为了保护版权以及控制软件的使用,常常会实现注册码注册机制。注册码是一种防止未经授权使用的方法,通常包含在软件终端用户许可协议(EULA)中。相比于硬件狗等物理限制措施,注册码的实现更为灵活,且开发成本更低。 本篇文章主要讲解如何使用C#实现注册码注册机制。 步骤 1. 生成注册码 首先,需要选择一种生成注册码…

    C# 2023年6月6日
    00
  • C# Linq的Cast()方法 – 将序列中的元素强制转换为指定类型

    C# Linq的Cast()是一个操作符,它用于将一些特定类型的序列中的元素转换为指定的类型。下面是关于使用Cast()操作符的完整攻略: 1. Cast()操作符的语法 Cast()操作符的语法如下: IEnumerable<TResult> source.Cast<TResult>() source:这个是要转换类型的序列的类型。…

    C# 2023年4月19日
    00
合作推广
合作推广
分享本页
返回顶部