EF中Add-Migration中StartupProjectName参数的用途是什么

What's the purpose of StartupProjectName parameter in Add-Migration in EF

据我了解 Add-Migration 在做什么,它只是将当前代码模型与上次应用的迁移模型(其 resx 文件中包含整个模型)进行比较

对于 StartupProjectName 参数的描述,它说:

-StartUpProjectName

Specifies the configuration file to use for named connection strings. If omitted, the specified project’s configuration file is used.

如果每次迁移都有整个模型的快照,那么就不需要数据库,因为当前模型和那个快照是完全可比的。

那么为什么在Add-Migration命令中提供这个参数来指定连接字符串呢?

添加迁移不需要“-StartUpProjectName”,因为您可以从包管理器控制台上方的下拉列表中选择 "default project"。 您可以使用参数“-StartUpProjectName”

覆盖下拉列表中的 "default project" 值

使用该参数,您可以指定包含您的连接字符串的项目(例如 app.config)。

您可以在单独的项目(不包含连接字符串)中进行迁移。