You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Web API项目从EntityFramework.InMemory迁移到SQL Server

将InMemory数据库的ASP.NET Core Web API切换到SQL Server

你梳理的三个核心步骤是对的,下面把第三步的具体操作和后续细节说明白:

1. 移除InMemory包

打开NuGet包管理器,找到Microsoft.EntityFrameworkCore.InMemory并卸载它。

2. 添加SQL Server包

在NuGet包管理器中安装Microsoft.EntityFrameworkCore.SqlServer,也可以用命令行执行:

dotnet add package Microsoft.EntityFrameworkCore.SqlServer

3. 配置DbContext连接SQL Server

把你Program.cs里的这段代码:

builder.Services.AddDbContext<TodoContext>(opt =>  opt.UseInMemoryDatabase("TodoList"));

直接替换成:

// 从appsettings.json读取预先配置的连接字符串
var connectionString = builder.Configuration.GetConnectionString("TodoDatabase");
builder.Services.AddDbContext<TodoContext>(opt => 
    opt.UseSqlServer(connectionString));

注意:把TodoDatabase换成你在appsettings.json里配置的连接字符串的键名,比如你的appsettings.json应该包含类似这样的配置:

{
  "ConnectionStrings": {
    "TodoDatabase": "Server=你的SQL服务器地址;Database=目标数据库名;Trusted_Connection=True;TrustServerCertificate=True;"
  }
}

后续适配方案

如果你用现成数据库

确保TodoContext中的实体类和数据库里的表结构完全匹配——包括表名、字段名、数据类型、主键约束等,有差异的话要调整实体类或者对应数据库结构。

如果你要通过迁移创建表

  1. 打开包管理器控制台,执行:
Add-Migration InitialCreate

这会生成创建表的迁移脚本。
2. 接着执行:

Update-Database

EF Core会自动连接你的数据库并创建对应的表。

内容的提问来源于stack exchange,提问作者sam sergiy klok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 23:55:33