.net core .net6 webapi 连接mysql 8
1.表结构:
CREATE TABLE `table2` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`myname` varchar(255) NOT NULL,
`create_time` DATETIME NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
2。新建一个名为“WebApiMySql”的 webapi项目。
3。nuget 下载“Pomelo.EntityFrameworkCore.MySql”包。
4。新建实体类,注意:类名和表名保持一致:
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations; namespace WebApiMySql.Models
{
public class table2
{
[Key] //主键
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] //设置自增
public long id { get; set; }
public string myname { get; set; } public DateTime create_time { get; set; }
}
}
5。新建DbContext,注意:DbSet里的属性名和表名保持一致:
using Microsoft.EntityFrameworkCore;
using WebApiMySql.Models; namespace WebApiMySql.Ctx
{
public class w2DbContext: DbContext
{
//构造函数
public w2DbContext(DbContextOptions<w2DbContext> option) : base(option)
{
} //实体类名“table2”,本字段属性名“table2”
public DbSet<table2> table2 { get; set; } }
}
6.修改appsettings.json,增加连接字符串:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"w2DbContext": "Server=128.0.0.33;Database=w2;uid=jojo;pwd=Yameking2022#;"
}
}
7.修改 Program.cs, 在“var app = builder.Build();” 这一行的上面增加以下内容:
builder.Services.AddDbContext<w2DbContext>(option => {
string connStr = builder.Configuration.GetConnectionString("w2DbContext");
option.UseMySql(connStr, ServerVersion.AutoDetect(connStr), null);
});
8。新建api控制器“vvController”
using Microsoft.AspNetCore.Mvc;
using WebApiMySql.Ctx; // For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 namespace WebApiMySql.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class vvController : ControllerBase
{
private readonly w2DbContext _w2db; public vvController(w2DbContext w2db)
{
_w2db=w2db;
}
// GET: api/<vvController>
[HttpGet]
public IEnumerable<string> Get()
{
try
{
var model= _w2db.table2.FirstOrDefault();
if (model != null)
{
return new string[] { "value1", model.myname };
}
}
catch (Exception ex)
{
return new string[] { "value1", ex.Message };
} return new string[] { "value1", "value2" };
} }
}
即可使用。
.net core .net6 webapi 连接mysql 8的更多相关文章
- .Net Core控制台&EFCore连接Mysql
在用惯了Asp.Net Core提供的基架后,反过来想一想,貌似忘记了控制台如何去连接数据库了,因此,写一篇文章来借此巩固下并以后再来回顾时,加快步骤. 1.新建一个.Net Core控制台,然后安装 ...
- .net core WebAPI 初探及连接MySQL
1. 前言 笔者最近跟着微软官方文档学习.net core WebAPI,但发现其对 WebAPI 连接数据库.读取数据库方面讲得不够细致明了.写此文的目的,即实现 .net core WebAPI ...
- 搭建连接MySql的三层架构的ASP.NetCore2.0的WebApi
里我们用三层架构搭建一个连接MySql的ASP.netCore模板的WebApi项目 首先添加WebApi项目(ASP.NetCore版本) 右键解决方案>新建项目> 选择Web>A ...
- 第八节:EF Core连接MySql数据库
一. 前提 1.安装EF Core连接MySQL的驱动,这里有两类: (1).Oracle官方出品:MySql.Data.EntityFrameworkCore (版本:8.0.17) (2).其他第 ...
- ASP.NET Core 3.0 WebApi 系列【2】.Net Core 3.0+ CodeFirst + MySql 实现数据的迁移
写在前面 在前一小节中,我们创建了基于RESFULL风格的服务.这个小节,尝试使用CodeFirst+MySql 的方式实现数据迁移. 一.开发环境 [1]运行环境:win10 家庭版 [2]开发工具 ...
- Spring Boot连接MySQL长时间不连接后报错`com.mysql.cj.core.exceptions.ConnectionIsClosedException: No operations allowed after connection closed.`的解决办法
报错:com.mysql.cj.core.exceptions.ConnectionIsClosedException: No operations allowed after connection ...
- .NET 5/.NET Core使用EF Core 5连接MySQL数据库写入/读取数据示例教程
本文首发于<.NET 5/.NET Core使用EF Core 5(Entity Framework Core)连接MySQL数据库写入/读取数据示例教程> 前言 在.NET Core/. ...
- 处理asp.net core连接mysql的一个异常Sequence contains more than one matching element
晚上在那里调程序,把mysql.data组件的nuget包进行了更新,前几天好好的程序,开始抛错,跟踪断点发现以下的异常: Unable to connect to any of the specif ...
- 使用EF CodeFirst连接MySql数据库
如何使用EF CodeFirst连接MySql数据库? 我们这篇文章介绍怎么使用EF连接MySql 作者的环境 VS2017.Win10.MySql5.x 前言 一般在EF中,默认是使用SqlServ ...
- asp.net core2.0 连接mysql和mssql
转自:https://www.jianshu.com/p/15a557ac43d9 1.连接mysql 第一步,新建asp.net core项目 新建项目 本例程作简单演示两种数据库的连接,为简便 ...
随机推荐
- 【编程】C++ 常用容器以及一些应用案例
介绍一些我常用的C++容器和使用方法,以及使用案例.blog 1 概述 容器(Container)是一个存储其他对象集合的持有者对象.容器以类模板实现,对支持的元素类型有很大的灵活性.容器管理元素的存 ...
- OceanBase时序数据库CeresDB正式商用 为用户提供安全可靠的数据存储管理服务
简介: OceanBase完成OLAP和OLTP双重能力并行后,向数据管理领域多模方向迈出第一步. 近日,在数据库OceanBase3.0峰会上,OceanBase CEO杨冰宣布首个时序数据库产品C ...
- 表和数据连接,而不是和表连接(JOIN)
1.连接数据,但是顺序会受影响 在使用JOIN连接临时表或子查询时,无法保证结果的顺序与特定值的顺序完全一致.这是因为在查询过程中,数据库优化器可能会选择不同的执行计划,导致结果的顺序发生变化. SE ...
- 一文搞懂Maven配置,从此不再糊涂下载依赖(文末有成品)
一般来说Maven都是配合着idea一起使用,下载依赖速度慢就去网上找个镜像配置一下,但总会遇到莫名其妙的问题,比如镜像源不生效.Error reading file pom.xml等等.今天详细讲解 ...
- 【GUI软件】抖音搜索结果批量采集,支持多个关键词、排序方式、发布时间筛选等!
目录 一.背景介绍 1.1 爬取目标 1.2 演示视频 1.3 软件说明 二.代码讲解 2.1 爬虫采集模块 2.2 软件界面模块 2.3 日志模块 三.获取源码及软件 一.背景介绍 1.1 爬取目标 ...
- 谷歌 hackbar 不能使用的问题
谷歌 hackbar 不能使用的问题 下载 hackbar 插件:https://github.com/Mr-xn/hackbar2.1.3 解压文件,将其拖入 chrome 扩展程序中 点击详情,点 ...
- MacOS M1芯片openmp库出现mach-o file, but is an incompatible architecture (have ‘arm64‘, need ‘x86_64‘问题解决
目录 1. 问题描述 2. 问题出现原因 3. 解决方案 编译安装 使用Homebrew安装 Reference 1. 问题描述 报错如下所示: ImportError: dlopen(/Users/ ...
- 如何在Docker容器中使用systemctl启动服务
解决方案:使用--privileged参数初始化容器 docker run -d -p 80:80 -it --privileged centos:centos8 /usr/sbin/init doc ...
- SpringBoot-Http请求工具类
一.编写请求配置类 import com.alibaba.fastjson.JSONObject; import org.springframework.context.annotation.Conf ...
- VueJs创建网易音乐播放器和vueJs常见错误处理
学习vuejs之后,总得自己上手写一些完整的应用,才能够更加了解各个结构与组件之间的运用. 下面从最基础的准备工作开始: 用vue-cli搭建vue应用:先确保自己已经安装Node环境. (1)Win ...