2015-07-10 26 views
1

請看下面的命令:實體框架命令連字沒有意義?

Update-Database -TargetMigration: "SomeMigrationName" 

爲什麼是Update-Database複姓一個方式-TargetMigration另一個?

另一個例子是Get-Migrations VS -ConfigurationTypeName

是一般的命令VS設置它指定一個文件?請讓我知道這是否是反直覺連字符背後的邏輯。

編輯:但Add-Migration是一個命令,後面跟着一個規範,雖然正在創建一個新的。混亂!

回答

1
Update-Database 

是命令

-TargetMigration 

是一個命名參數

這些PowerShell命令。

連字符代表兩種不同的東西。

1)Update-Database中的連字符只是將單詞「更新」和「數據庫」分開。 PowerShell命令的相當標準

2)-TargetMigration開頭的連字符表示它是一個命名參數。使用 - 是非常標準的指示器爲命名參數,以從初級無名目標參數,例如在區分他們:

Add-Migration initial 

initial是未命名的主要參數。

1

據我所知,連字符在中間的關鍵字是方法調用,其他的是傳遞到該方法的變量。我假設他們這樣做是爲了讓它感覺清晰,並區分兩者。很像方法通常以大寫字母開頭,變量以小寫字母開頭。

+0

感謝您的回答,我接受了另一個,因爲他闡述了更多,但您的答案也有幫助,ty。 – VSO

+0

沒問題,我同意。很好陳述。 「 –

1

因爲Entity Framework命令是PowerShell Cmdlet,所以它們已被寫入(大部分)遵守PowerShell Cmdlet Development Guidelines

使用Verb-Noun模式(請參閱Approved Verbs List)和參數規範模式(-Noun [Value])由PowerShell處理Cmdlet命令。

+0

」Cmdlet命令是使用Verb-Noun模式編寫的(請參閱批准的動詞列表),而參數規範模式(-Noun [Value])由PowerShell處理。「這條線非常有幫助澄清/闡述,ty。 – VSO