包的目的" Microsoft.EntityFrameworkCore.Design"

时间:2017-03-03 08:37:03

标签: c# asp.net-core .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"

这个套餐有什么作用?为什么我可以毫无问题地排除它?

更新:查看已接受答案中的评论,以确定在哪种情况下导入哪个软件包。

1 个答案:

答案 0 :(得分:19)

Microsoft.EntityFrameworkCore.Design包含Entity Framework Core的所有设计时逻辑。它是所有各种工具(Add-Migrationdotnet efef.exe等PMC cmdlet)调用的代码。

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

当您确实需要时,我们会鼓励PrivateAssets="All",因此它不会发布到您几乎肯定不需要它的服务器上。