配置 EF Core CLI 参数

Configure EF Core CLI Parameters

我有一个 ASP.NET Core 项目,它的数据访问层使用 EF Core 3.1.8,还使用 ​​3.1.8 版的 cli 工具。表示层和数据访问层在不同的项目中。对于 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?

一样更简洁地 运行 命令

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

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

那么你可以使用:

ef migrations add MyMigrationName

ef database update

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

使用以下内容创建一个名为 identity.rsp 的文件。

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

然后像这样使用它。

dotnet ef database update @identity.rsp