.net 连接MySql数据库 + 使用Microsoft.EntityFrameworkCore.Design自动生成实体类 + 使用EFCore操作数据库

这篇具有很好参考价值的文章主要介绍了.net 连接MySql数据库 + 使用Microsoft.EntityFrameworkCore.Design自动生成实体类 + 使用EFCore操作数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

准备MySql数据库

先准备好一个mysql数据库(我这里准备的是test数据库,里面又准备了两张表,其中book表中只有两个字段,Id(bigint类型)和 Name(varchar类型))
.net 连接MySql数据库 + 使用Microsoft.EntityFrameworkCore.Design自动生成实体类 + 使用EFCore操作数据库

使用Microsoft.EntityFrameworkCore.Design自动生成实体类

使用VS新建一个asp.net core web api项目(我这里使用的框架是.net5.0的,确保版本对应很重要)

打开终端
.net 连接MySql数据库 + 使用Microsoft.EntityFrameworkCore.Design自动生成实体类 + 使用EFCore操作数据库
进到项目所在目录(我这里解决方案名为DBTest,项目名也为DBTest,所以要进入到DBTest\DBTest下而不是DBTest下)
.net 连接MySql数据库 + 使用Microsoft.EntityFrameworkCore.Design自动生成实体类 + 使用EFCore操作数据库
安装工具

dotnet tool install --global dotnet-ef

在项目上安装包 Microsoft.EntityFrameworkCore.Design

dotnet add package Microsoft.EntityFrameworkCore.Design -v 5.0.13

可以运行以下命令以验证是否正确安装了 EF Core CLI 工具

dotnet ef

出现了下列输出则表示EF Core CLI安装成功
.net 连接MySql数据库 + 使用Microsoft.EntityFrameworkCore.Design自动生成实体类 + 使用EFCore操作数据库
至此EF Core CLI工具算是准备好了,之后还要安装MySql相关包

安装Pomelo.EntityFrameworkCore.MySql包

dotnet add package Pomelo.EntityFrameworkCore.MySql -v 5.0.3

使用EF Core CLI生成实体类(确保数据库连接字符串正确)

dotnet ef dbcontext scaffold "server=localhost;userid=root;pwd=root;port=3306;database=test;sslmode=none;" Pomelo.EntityFrameworkCore.MySql -o Repository -f

其中-o用于指定输出路径
-f表示出现同名文件时覆盖原文件

出现Build Success就表示成功了
.net 连接MySql数据库 + 使用Microsoft.EntityFrameworkCore.Design自动生成实体类 + 使用EFCore操作数据库
此时你会发现项目中多了一个Repository文件夹,里面有一个数据库上下文的类和一些实体类,这些实体类实际上就是对应了数据库的表
.net 连接MySql数据库 + 使用Microsoft.EntityFrameworkCore.Design自动生成实体类 + 使用EFCore操作数据库

.net 连接 MySql数据库

在appsetting.json配置文件中加入连接字符串

"ConnectionStrings": {
  "MySQL":"server=localhost;user id=root;password=root;port=3306;database=test"
}

.net 连接MySql数据库 + 使用Microsoft.EntityFrameworkCore.Design自动生成实体类 + 使用EFCore操作数据库
注册服务进容器

services.AddDbContext<testContext>(options => options.UseMySql(Configuration.GetConnectionString("MySQL"), ServerVersion.AutoDetect(Configuration.GetConnectionString("MySQL"))));

OK,连接 MySql数据库完成

使用EFCore操作数据库

现在在需要操作数据库的地方注入服务即可

例如在WeatherForecastController.cs中
.net 连接MySql数据库 + 使用Microsoft.EntityFrameworkCore.Design自动生成实体类 + 使用EFCore操作数据库
再写一个Action来测试操作数据库

例如在book表中创建一条数据

[HttpGet("/CreateBook")]
public async Task<object> CreateBookAsync()
{
    var book = await _context.Books.AddAsync(new Book
    {
        Id = 123L,
        Name = "《ASP.NET Core框架揭秘》"
    });
    await _context.SaveChangesAsync();
    return book.Entity;
}

运行项目,访问相关CreateBookAsync接口

访问完毕后,查看数据库发现book表中多了一条数据

大功告成

附上一些数据库的其他操作

查询与修改:

[HttpGet("/UpdateBook")]
public async Task<object> UpdateBookAsync()
{
    //根据id查询
    var book = await _context.Books.FindAsync(123L);
    //修改
    book.Name = "《Hello World》";
    //保存修改
    return await _context.SaveChangesAsync();
}

查询与删除:文章来源地址https://www.toymoban.com/news/detail-465283.html

[HttpGet("/DeleteBook")]
public async Task<object> DeleteBookAsync()
{
    //根据条件查询单条数据
    var book = _context.Books.FirstOrDefault(book => book.Name == "《Hello World》");
    //在DBContext中删除数据
    _context.Books.Remove(book);
    //将删除操作同步到数据库中
    return await _context.SaveChangesAsync();
}

到了这里,关于.net 连接MySql数据库 + 使用Microsoft.EntityFrameworkCore.Design自动生成实体类 + 使用EFCore操作数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用VS2019连接Microsoft SQL Server Compact 4.0数据库

    SQL Server Compact Edition是微软推出的一个适用于嵌入到移动应用的精简数据库产品,Windows Mobile开发人员能够使用SQL Server CE开发出将数据管理能力延展到Window Mobile移动设备上的应用程序。虽然SQL Server CE占用的磁盘空间只有3到5兆左右,但是它功能并没有像它的容量那样大幅度缩

    2024年02月09日
    浏览(57)
  • .NET Core/.NET6 使用DbContext 连接数据库,SqlServer

    安装以下NuGet包 Microsoft.EntityFrameworkCore.SqlServer:SQL server 需要添加包 Microsoft.EntityFrameworkCore.Tools Newtonsoft.Json:用于Json格式转换 创建一个实体类来表示数据库表。在项目中创建一个名为Customer.cs的文件,并添加以下代码 创建一个数据库上下文类,用于定义实体类和数据库连接

    2024年02月07日
    浏览(50)
  • NET Core 6.0 webapi 简单使用+连接数据库

    ASP.NET core NET core 6.0 如何使用 在 Program.cs里面 添加对应注释 效果: Microsoft.EntityFrameworkCore.Sqlite Microsoft.EntityFrameworkCore.Sqlite.Core Newtonsoft.Json:用于Json格式转换 添加测试Api Tips:这里用到ORM查询语法 EntityFramework EF 常用增删改查语句 运行结果

    2024年02月09日
    浏览(39)
  • 【MySQL】使用DBeaver数据库管理工具进行MySQL数据库连接

    一、数据库连接信息填写 1、服务器地址:填写服务器部署的地址,以及端口号 2、数据库:sys 3、用户名:root 4、密码:服务器上面设置的具体密码 以上信息填写错误的报错提示 :Access denied for user ‘XXX’@’%’ to database ‘10.42.67.22’ 二、数据库说明 1、数据库连接时选择的

    2024年02月09日
    浏览(90)
  • 使用python连接mysql数据库

    第一章 Python 机器学习入门之连接mysql数据库 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 在控制台输入如下: 代码如下(示例): 演示

    2024年02月16日
    浏览(68)
  • 【MySQL】使用C++连接数据库

    创建数据库并选中 创建表并描述表结构 增加删除修改均可正常执行,查询较为复杂,整体代码中有案例 如果查询则需要把查询数据保存到结果集,通过mysql所提供的函数 得到行和列,遍历得到结果。 初始化mysql并返回句柄(默认传入nullptr即可) 如: MYSQL *mfp = mysql_init(nul

    2024年02月13日
    浏览(52)
  • 使用eclipse连接mysql数据库步骤

    1.导入连接MySQL数据库驱动包(例如mysql-connector-java-5.1.7-bin.jar),并测试。 步骤: 1)在eclipse里面点击右上角的图标,如下图所示。 2)选中Database Connections右键,点new。 3)选择MySQL,点击next。 4)如图所示: 2.引用MySQL驱动包jar 在项目右键一个文件夹lib,把驱动包复制进去,

    2024年02月11日
    浏览(68)
  • 使用C#连接MySQL数据库(详解)

    ✨前言✨ 本片文章,主要在于C#连接MySQL数据库,由于这之间无法建立直接联系,这时候就涉及到了第三方连接工具.NET,以此来建立C#与MySQL数据库的连接 🍒欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍒博主将持续更新学习记录收获,友友们有任何问题可以在评论区留

    2024年02月05日
    浏览(69)
  • uniapp使用express连接mysql数据库

    使用win+R再输入cmd打开命令提示符,输入如下内容全局安装脚手架 npm i express-generator -g 可以在命令提示符中cd到自己项目的根目录下,也可以在HBuilder X里内置的终端运行代码  C:HBuilderProjectswordman express --view=ejs server 说明:前面是项目的根目录,express --view=ejs projectName proje

    2024年02月06日
    浏览(121)
  • 使用 Next.js 连接 mysql 数据库

    本文主要为大家介绍,如何使用 Next 框架实现一个简单的 后端接口 ,并且从 数据库 中请求数据返回给前端。 项目创建完成后在 app 文件下新建api文件夹,在 api 文件夹下新建 getData 文件夹,在 getData 文件夹下新建 route.js,这里面用于存储我们的接口信息,如下 注意: 在

    2024年02月22日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包