.net mysql 框架_.NET框架 - NETCORE + API + EF + MYSQL

本文介绍了如何使用.NET Core 2.2框架,结合API和Entity Framework Core (EFCORE)来搭建与MySQL数据库交互的应用。首先新建项目,然后通过NuGet安装必要的MYSQL插件。接着,使用Scaffold-DbContext命令生成实体类,并配置DBContext,将连接字符串存储在appsettings.json中。最后,在webAPI应用中采用依赖注入的方法操作数据库。
摘要由CSDN通过智能技术生成

.NET框架 - NETCORE + API + EFCORE + MYSQL

1. 新建项目:

c43fbbb77c9ebdc27491c115721be425.png

本文中使用 框架 .netcore2.2 。

571a3e476a020afc6939e3e611530bec.png

2. 生成项目框架

639c93ddc33ceb676cd11b12721f177b.png

3 安装MYSQL插件

点击“工具”->“NuGet包管理器”->“程序包管理器控制台”

安装命令:install-package -version

分别安装以下几个包

Mysql 版本:

Install-Package MySql.Data.EntityFrameworkCore -Pre

Install-Package Pomelo.EntityFrameworkCore.MySql

Install-Package Microsoft.EntityFrameworkCore.Tools

Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

Sql server 版本:

Install-Package Microsoft.EntityFrameworkCore

Install-Package Microsoft.EntityFrameworkCore.SqlServer

Install-Package Microsoft.EntityFrameworkCore.Tools

Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

2.在程序包包管理器控制台   中执行以下语句生成 实体类

--mysql 版本:

Scaffold-DbContext "server=.;userid=tech5_kj;pwd=xxx;port=3306;database=tech5_kj;sslmode=none;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -Force

或者

Scaffold-DbContext "server=.;userid=tech5_kj;pwd=xxx;port=3306;database=tech5_kj;sslmode=none;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -UseDatabaseNames -Force

--sql server 版本

Scaffold-DbContext "Data Source=.;Initial Catalog=EFCore_dbfirst;User ID=sa;Password=sa.123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force

参数说明:

48304ba5e6f9fe08f3fa1abda7d326ab.png

-OutputDir *** 实体文件所存放的文件目录

-ContextDir *** DbContext文件存放的目录

-Context *** DbContext文件名

-Schemas *** 需要生成实体数据的数据表所在的模式

-Tables *** 需要生成实体数据的数据表的集合

-DataAnnotations

-UseDatabaseNames 直接使用数据库中的表名和列名(某些版本不支持)

-Force 强制执行,重写已经存在的实体文件

48304ba5e6f9fe08f3fa1abda7d326ab.png

8c5ff3192e3b78a9d354627e44e5a903.png

4. 配置DBContext

ASP.NET Core 应用程序连接字符串是写死在ConfigureServices代码中,下面介绍通过配置来实现。连接字符串可以存储在 appsettings.json、用户机密存储、其他配置源中。 下面示例演示appsettings.json 中存储的连接字符串,这样不管asp.net core在什么环境(Development、Staging 、Production)都能调用该文件。

生成的DBContext中是包含数据库连接字段的,我们需要把它放在配置文件中。

d3e6cbe8ccec22005a7c91fd17991156.png

3594a4ab8343ba882411b240ca4070c7.png

{"Logging": {"LogLevel": {"Default": "Warning"}

},"AllowedHosts": "*","ConnectionStrings": {"MES_MySql": "server=localhost;userid=root;pwd=123456;port=3306;database=db1;sslmode=none;"}

}

通常在Startup.cs中读取连接字符串。使用GetConnectionString()方法查找配置值,该查询的格式:ConnectionStrings:其中键是connection。

009ceb3f622ce47c84962eb7693f71f9.png

// var connection = "Data Source = {ip}; Initial Catalog = EFGetStarted.AspNetCore.NewDb; User ID = hsr;Password =js*2015;";

// var connection = Configuration.GetConnectionString("BloggingDatabase");

// services.AddDbContext(options => options.UseSqlServer(connection));

var connection = Configuration.GetConnectionString("MES_MySql");

services.AddDbContext(options => options.UseMySQL(connection));

5. 在webAPI应用程序中,使用依赖注入的方式。

702aae51b9d8f7f22403ca7b9a7a0fbb.png

完成。

引用:https://www.cnblogs.com/yangjinwang/p/9516988.html

引用:https://www.cnblogs.com/MrHSR/p/10364918.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值