As I understand what Add-Migration
is doing, it's just compares the current model of code with the model of last applied migration (which has the entire model in its resx file)
For the description of StartupProjectName paramter it says:
-StartUpProjectName
Specifies the configuration file to use for named connection strings. If omitted, the specified project’s configuration file is used.
If each migration has a snapshot of whole model, then there would no need to have a database, since the current model and that snapshot are totally comparable.
So why is this parameter provided in Add-Migration command to specify a connection string?