日常生活的交流与学习

首页 新随笔 联系 管理

EF Core Migrations

创建一个WebAPI.Migrations

dotnet new webapi -n WebAPI.Migrations

Program.cs

using System.Reflection;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using DataAccess;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddDbContext<MusicCollectionDb>(
    options =>options.UseSqlServer(builder.Configuration.GetConnectionString("MusicDbConnection"),b => b.MigrationsAssembly(Assembly.GetExecutingAssembly().FullName)));

var app = builder.Build();
app.UseAuthorization();
app.MapControllers();
app.Run();

其他数据库

var msSqlConnection = builder.Configuration.GetConnectionString("MsSqlConnection");
options.UseSqlServer(msSqlConnection, b => b.MigrationsAssembly(Assembly.GetExecutingAssembly().FullName));

var sqliteConnection = builder.Configuration.GetConnectionString("SqliteConnection");
options.UseSqlite(sqliteConnection, b => b.MigrationsAssembly(Assembly.GetExecutingAssembly().FullName));

var mySqlConnection = builder.Configuration.GetConnectionString("MySqlConnection");
//MySql需要传入版本,ServerVersion.AutoDetect根据连接字符串自动获取
options.UseMySql(mySqlConnection, ServerVersion.AutoDetect(mySqlConnection), b => b.MigrationsAssembly(Assembly.GetExecutingAssembly().FullName));

appsettings.json

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "MusicDbConnection": "Data Source=localhost;Initial Catalog=musicdb2;User ID=sa;Password=song2030..;Trust Server Certificate=True"
  }
}

添加迁移文件

dotnet ef migraitons add init 
dotnet ef database update
posted on 2024-10-17 21:37  lazycookie  阅读(5)  评论(0编辑  收藏  举报