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

EF Core使用独立迁移程序集时如何生成SQL脚本?

解决EF Core独立迁移项目生成SQL脚本的问题

针对你遇到的dotnet ef migrations script无法识别迁移项目的问题,可通过以下两种方式解决:

方式一:完整指定启动项目、迁移项目与DbContext

使用--startup-project指定应用的启动项目(用于读取配置依赖),同时明确--project迁移项目和--context对应的DbContext类名:

dotnet ef migrations script --project MigrationProject.SqlServer.csproj --startup-project Application.csproj --context YourDbContextName --output path_for_sql_files

注意:将YourDbContextName替换为你实际的DbContext类名称(比如AppDbContext)。

方式二:直接指定迁移项目并显式指定DbContext所在程序集

如果不需要启动项目的配置,可通过--context参数同时指定DbContext的完整类名和所在程序集:

dotnet ef migrations script --project MigrationProject.SqlServer.csproj --context "YourDbContextName, ProjectContainingDbContext" --output path_for_sql_files

这种方式会直接从指定的DbContext程序集读取上下文定义,同时从迁移项目读取迁移文件。

补充说明

EF Core 9.0.2中migrations script命令本身支持--project参数,问题根源在于命令缺少对上下文来源的明确指定,导致EF Core默认从当前目录或启动项目中查找DbContext,而非迁移项目。只要明确上下文的位置或指定启动项目,即可正常生成对应迁移项目的SQL脚本。

内容的提问来源于stack exchange,提问作者payetools-steve

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 10:08:11