命名空间“ Microsoft.EntityFrameworkCore”中不存在“迁移”

时间:2018-09-05 18:20:57

标签: c# asp.net asp.net-core

我正在做一个ASP.NET Core项目。 我已经安装了ini_set("session.cookie_domain","*.yoursite.com");Microsoft.EntityFrameworkCore NuGet软件包。

我运行了Microsoft.EntityFrameworkCore.Tools命令, 其中创建了Add-Migration InitialCreate文件夹和Migrations文件。

但是它说

  

类型或名称空间名称“迁移”在   命名空间“ Microsoft.EntityFrameworkCore”(您是否缺少程序集   参考?)

此错误的原因是什么。我需要安装其他任何软件包吗?

2 个答案:

答案 0 :(得分:19)

好的,我将向您展示EF Core +迁移所需的最小设置:

您将需要安装Microsoft.EntityFramework.Core,但最好先为要使用的数据库安装一个EF Core提供程序,而不是该软件包。然后,该EF Core提供程序将提取所有必需的依赖项(包括Microsoft.EntityFramework.Core)。

因此(例如)对于SQLServer db,我将在程序包管理器控制台中安装:

  1. 安装软件包Microsoft.EntityFrameworkCore.SqlServer

  2. 安装包Microsoft.EntityFrameworkCore.Tools (用于powershell命令)

  3. 安装软件包Microsoft.EntityFrameworkCore.Design (包含迁移引擎-和重要),请注意,此软件包必须在可执行项目内部 >)

就是这样。

答案 1 :(得分:-3)

using Microsoft.EntityFrameworkCore.Design; //Add to your reference at top of solution.

简单地在您的参考文献中提及,以使魔术发生。