首先建立一个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表就创建好了

Logo

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

更多推荐