軟件包“Microsoft.EntityFrameworkCore.Design”的用途

.net-core asp.net-core entity-framework-core

所有教程都同意project.json應該包括:

"Microsoft.EntityFrameworkCore.Design": { "type":"build", "version":"1.0.0-preview2-final" }

我從來沒有把它包括在內,從來沒有遇到過問題。

我只包括

"Microsoft.EntityFrameworkCore"
"Microsoft.EntityFrameworkCore.Sqlite"   (or Sqlserver)
"Microsoft.EntityFrameworkCore.Tools"

這個包有什麼作用?為什麼我可以毫無問題地排除它?


更新:查看已接受答案中的註釋,以確定要在哪種方案中導入哪個包。

一般承認的答案

Microsoft.EntityFrameworkCore.Design包含Entity Framework Core的所有設計時邏輯。這是所有各種工具(像Add-Migrationdotnet efef.exe這樣的PMC cmdlet)調用的代碼。

如果您不使用遷移或逆向工程,則不需要它。

當你確實需要它時,我們鼓勵PrivateAssets="All"因此它不會發佈到幾乎肯定不需要它的服務器上。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow