.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项目 新建项目 本例程作简单演示两种数据库的连接,为简便 ...
随机推荐
- 同为博客,不同风格 ——Hexo另类搭建
简介:通过阿里云云开发平台快速由Hexo创建赛博朋克风格的博客. 一 .通过云开发平台快速创建初始化应用 1.创建相关应用模版请参考链接:Hexo博客框架-轻量.一令部署 2.完成创建后就可以在g ...
- WPF 通过 InputManager 模拟调度触摸事件
在 WPF 中,框架可以分为两个部分,一个是渲染,另一个是交互.交互的入口是在 InputManager 里面,而实际的交互实现需要通过渲染布局和交互的路由事件才能完成.在输入管理提供了调度事件的方法 ...
- Raft 共识算法4-选举限制
Raft 共识算法4-选举限制 Raft算法中译版地址:https://object.redisant.com/doc/raft中译版-2023年4月23日.pdf 英原论文地址:https://ra ...
- Rancher管理K8s集群(14)
一.Rancher介绍 1.1 Rancher简介 Rancher 是一个开源的企业级多集群 Kubernetes 管理平台,实现了 Kubernetes 集群在混合云+本地 数据中心的集中部署与管理 ...
- RT-Thread 运行时常见错误
一.空线程栈较小 现象: 现象一: 现象二: 原因: 从RT-Thread文章中心可知,空闲线程是不能被挂起的,官方文档说明如下图所示: 注意:必须保证空闲线程的栈空间足够,否则空闲线程内存溢出后,也 ...
- css的animate做一个信号动画
html <div class="jump flex-fs fadeAndScaleIn"> <span></span> <span> ...
- vue的pc端项目+element实现分页效果
效果图: 直接使用element操作很简单,记录一下要点: 根据ele提供的api修改data v-for="(i,s) in dataView.slice((currentPage-1)* ...
- Java的Stream流的分页,Stream的skip和limit实现分页
1.工具类 package com.cc.testproject.utils; import com.github.pagehelper.PageInfo; import org.springfram ...
- 用Vue仿了一个类似抖音的App
大家好,我是 Java陈序员. 今天,给大家介绍一个基于 Vue3 实现的高仿抖音开源项目. 关注微信公众号:[Java陈序员],获取开源项目分享.AI副业分享.超200本经典计算机电子书籍等. 项目 ...
- Java中的多态、抽象类和接口简述
1. 引言 本文对Java编程中的多态.抽象类和接口概念进行了简明扼要的讲解,并对extends和implements进行了辨析. 2. 多态 多态是指所调用的方法只有在运行的时候才可以明确,如下例所 ...