在 .NET Core 項(xiàng)目中進(jìn)行 MySQL 數(shù)據(jù)庫(kù)遷移,你需要使用 Entity Framework Core(EF Core)作為 ORM(對(duì)象關(guān)系映射)框架。以下是進(jìn)行 MySQL 數(shù)據(jù)庫(kù)遷移的步驟:
安裝必要的 NuGet 包:
在項(xiàng)目中安裝以下 NuGet 包:
可以使用以下命令安裝:
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet add package Pomelo.EntityFrameworkCore.MySql
創(chuàng)建一個(gè) DbContext 類:
在項(xiàng)目中創(chuàng)建一個(gè)繼承自 Microsoft.EntityFrameworkCore.DbContext
的類。這個(gè)類將表示你的數(shù)據(jù)庫(kù)上下文。例如:
using Microsoft.EntityFrameworkCore;
namespace MyProject
{
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions<MyDbContext> options) : base(options)
{
}
public DbSet<User> Users { get; set; }
}
}
配置 DbContext:
在項(xiàng)目的 appsettings.json
文件中添加數(shù)據(jù)庫(kù)連接字符串和其他配置信息。例如:
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=mydatabase;User=myuser;Password=mypassword;"
}
}
然后,在項(xiàng)目的 Startup.cs
文件中配置 DbContext。例如:
using Microsoft.EntityFrameworkCore;
using MyProject;
public class Startup
{
// ...
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddDbContext<MyDbContext>(options =>
options.UseMySql(Configuration.GetConnectionString("DefaultConnection")));
// ...
}
}
創(chuàng)建遷移:
在項(xiàng)目根目錄下運(yùn)行以下命令,以創(chuàng)建一個(gè)新的遷移:
dotnet ef migrations add InitialCreate
這將在項(xiàng)目的 Migrations
文件夾中生成一個(gè)新的遷移類。
應(yīng)用遷移:
在項(xiàng)目根目錄下運(yùn)行以下命令,以將遷移應(yīng)用到數(shù)據(jù)庫(kù):
dotnet ef database update
這將創(chuàng)建或更新數(shù)據(jù)庫(kù),以匹配你的模型。
現(xiàn)在,你已經(jīng)完成了 MySQL 數(shù)據(jù)庫(kù)遷移。當(dāng)你需要更改模型時(shí),只需重復(fù)步驟 4 和 5 即可。