请考虑以下命令:
Update-Database -TargetMigration: "SomeMigrationName"
为什么Update-Database
单向连字,-TargetMigration
连字?
另一个例子是Get-Migrations
vs -ConfigurationTypeName
是一般命令vs设置它来指定文件吗?请告诉我这是否是反直觉连字背后的逻辑。
编辑:但是Add-Migration
既是命令又是规范,尽管正在创建一个新规范。混乱!
答案 0 :(得分:1)
据我所知,中间带连字符的关键字是方法调用,其他是传递给该方法的变量。我认为他们这样做是为了让它感觉清晰,并区分两者。方法通常以大写字母开头,变量以小写字母开头。
答案 1 :(得分:1)
Update-Database
是命令
-TargetMigration
是命名参数
这些是PowerShell命令。
连字符代表两种不同的东西。
1)Update-Database
中的连字符只是将单词Update和Database分开。 PowerShell命令非常标准
2)-TargetMigration
开头的连字符表示它是一个命名参数。使用 - 是命名参数的一个非常标准的指标,可以将它们与未命名的主要目标参数区分开来,例如:
Add-Migration initial
initial
是未命名的主要参数。
答案 2 :(得分:1)
因为实体框架命令是PowerShell Cmdlet,所以它们(大部分)都被写入PowerShell Cmdlet Development Guidelines。
Cmdlet命令使用Verb-Noun
模式编写(请参阅Approved Verbs List),参数规范模式(-Noun [Value]
)由PowerShell处理。