首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我试图在-The核心2.2中启用迁移时,项目中没有安装错误的.net实体框架包

当我试图在-The核心2.2中启用迁移时,项目中没有安装错误的.net实体框架包
EN

Stack Overflow用户
提问于 2020-02-04 06:18:47
回答 2查看 2K关注 0票数 2

我正在从事一个.NET Core2.2项目。我安装了实体框架核心nuget包。

但是当我尝试启用迁移时,会出现错误

项目中没有安装EntityFramework包

我找到了一个解决办法,

错误的一种可能性--在Package控制台中,“默认项目”有一个下拉列表。如果设置不正确,您将得到项目'x‘上没有安装EntityFramework包。更改下拉到您的EF项目,一切都是好的。

但选定的项目是正确的。

所以我用命令检查了包管理器控制台中的模块,

代码语言:javascript
复制
PM> Get-Module EntityFramework*

ModuleType Version    Name                                ExportedCommands                                                 
---------- -------    ----                                ----------------                                                 
Script     6.0.0.0    EntityFramework                     {Add-EFDefaultConnectionFactory, Add- 
EFProvider, Add-Migration...
Script     2.2.6      EntityFrameworkCore                 {Add-Migration, Drop-Database, Enable- 
Migrations, Get-DbContex...*

因此,我认为我的类库中有两个实体框架版本。但是当我签入包选项时,没有找到实体框架,只有实体框架核心存在。

如何解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-04 11:03:26

如果DbContext位于另一个定制类库中,而不是在启动项目中,则很可能需要在EF命令中指定该项目:

在powershell中

代码语言:javascript
复制
Add-migration NameOfMigration -Project Namespace.ToContextProject

和dotnet

代码语言:javascript
复制
dotnet ef migrations add NameOfMigration --project relativePath/ToContextProject
dotnet ef migrations add InitialCreate -p  relativePath/ToContextProject
票数 -1
EN

Stack Overflow用户

发布于 2021-04-21 13:52:25

我有一个类似的问题,在运行*时,我有两个引用,一个用于EntiryFramework 6.0,另一个用于EntityFrameworkCore。

我从未安装过EntityFramework6。然而,为了克服这一点,我必须限定我希望通过迁移添加的框架,以及更新数据库。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60051648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档