首页 > 解决方案 > 配置 EF Core CLI 参数

问题描述

我有一个带有数据访问层的 ASP.NET Core 项目,它使用 EF Core 3.1.8 并使用 cli 工具的 3.1.8 版本。表示层和数据访问层在不同的项目中。要在 cli 中运行 EF 命令,我打开一个开发人员命令提示符,导航到包含数据访问层的目录并运行一个命令,例如

dotnet ef migrations add MyMigrationName --startup-project ../Site/Site.csproj

或者

dotnet ef database update --startup-project ../Site/Site.csproj

Site在这里只是一个占位符。实际项目名称较长,--startup-project每次运行命令时都提供参数不方便。有没有可以配置的地方,以便我可以更简洁地运行命令dotnet ef database update

标签: entity-framework-coreef-core-3.1

解决方案


ef.cmd在数据访问层目录中创建一个名为的文件,其内容如下:

@dotnet ef --startup-project ..\Site %*

然后你可以使用:

ef migrations add MyMigrationName

或者

ef database update

为了完整起见,另一种选择是使用响应文件。这并不简单,但当您有多组选项时会很有用。(例如对于多个 DbContexts)

创建一个类似identity.rsp以下内容的文件。

--startup-project=..\Site
--context=IdentityContext

并像这样使用它。

dotnet ef database update @identity.rsp

推荐阅读