如何阻止EF Core执行add-migration后自动打开生成的迁移代码文件?
解决方案
方法1:单次执行时添加参数(临时生效)
- 包管理器控制台执行
Add-Migration命令时,追加-NoOpen参数即可关闭本次自动打开行为,命令示例:Add-Migration 自定义迁移名称 -NoOpen - 若使用dotnet CLI执行迁移命令,对应参数为
--no-open,命令示例:dotnet ef migrations add 自定义迁移名称 --no-open
方法2:永久关闭自动打开行为
全局生效(适用于所有项目)
通过自定义包管理器控制台的命令别名实现:
- 打开Visual Studio的包管理器控制台,输入
notepad $profile打开PowerShell配置文件 - 在文件末尾添加如下内容:
function Add-Migration-NoOpen { Add-Migration @args -NoOpen } Set-Alias am Add-Migration-NoOpen - 保存文件后重启Visual Studio,后续执行
am 迁移名称命令就默认不会自动打开迁移文件。
项目级生效(仅适用于当前项目)
在项目根目录下新建/编辑Directory.Build.props文件,添加如下配置:
<PropertyGroup> <EFCore_NoOpenMigrations>true</EFCore_NoOpenMigrations> </PropertyGroup>
配置保存后,当前项目所有Add-Migration执行都会默认关闭自动打开逻辑,无需额外加参数。
注:该自动打开迁移文件的行为是EF Core 3.0及以上版本工具的自带默认逻辑,不属于Visual Studio通用编辑器设置范畴,因此无法通过VS的常规设置入口修改。
内容的提问来源于stack exchange,提问作者g.pickardou
相关产品推荐
相关产品推荐

