.NET8平台使用EF core操作MySQL数据库
.net8平台,ef core操作MySQL数据库
·
首先建立一个asp.net core web项目
然后右击创建的项目,选择”管理NuGet程序包“,点击浏览,在搜索栏中搜索这几个包
分别下载这几个包
注意了,若是使用的是.NET8,那么第三个包一定要是8.0.0版本的,,不要下载7.0.0的稳定版,该版本不支持.NET8
若是在NuGet中搜索不到8.0.0的包,大家也可以前往官网自行下载:NuGet Gallery | Pomelo.EntityFrameworkCore.MySql 8.0.0-beta.2
或是在程序包管理器控制台中输入:
NuGet\Install-Package Pomelo.EntityFrameworkCore.MySql -Version 8.0.0-beta.2
大家下载这些包前,可以先看看这些包的依赖项
包版本的问题搞定后就可以后续操作了
为了方便管理,先在项目下创建两个文件夹,Models和Data,
在Models文件夹下创建一个类,我创建了一个Book类
namespace efcoreTest.Models
{
public class Book
{
public long Id { get; set; }
public string Title { get; set; }
public DateTime PubTime { get; set; }
public double Price { get; set; }
}
}
随后在Data文件夹下创建一个实现DbContext的类
using efcoreTest.Models;
using Microsoft.EntityFrameworkCore;
namespace efcoreTest.Data
{
public class DbBookTest : DbContext
{
public DbBookTest() { }
public DbBookTest(DbContextOptions<DbBookTest> options ) : base(options) { }
public DbSet<Book> Books { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
}
}
}
在appsettings.json文件中添加
"ConnectionStrings": {
"AppDbConnectionString": "server=localhost;User=你的用户名;Password=你的的密码;database=dbtest1;"
}
这不像springboot项目中连接数据库需要端口号port,这里不需要提供端口号。
紧接着在Program.cs代码”builder.Services.AddSwaggerGen();“的下一行写入
var connectionString = builder.Configuration.GetConnectionString("AppDbConnectionString");
builder.Services.AddDbContext<DbBookTest>(options => options.UseMySql(connectionString,ServerVersion.AutoDetect(connectionString)));
最后我们再回到程序包管理器控制台输入:
Add-Migration "init"
update-Database
现在去MySQL数据库中查看,我们的Books表就创建好了

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)