Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 错误-当我尝试在.net core 2.2中启用迁移时,项目上未安装实体框架包_C#_Entity Framework_Entity Framework Core - Fatal编程技术网

C# 错误-当我尝试在.net core 2.2中启用迁移时,项目上未安装实体框架包

C# 错误-当我尝试在.net core 2.2中启用迁移时,项目上未安装实体框架包,c#,entity-framework,entity-framework-core,C#,Entity Framework,Entity Framework Core,我正在从事一个.NETCore2.2项目。我安装了Entity Framework核心nuget包 但当我尝试启用迁移时,出现了错误 项目上未安装EntityFramework包 我找到了一个解决办法 此错误的一种可能性是,在PackageManager控制台中,有一个“defaultproject”下拉列表。如果设置不正确,您将看到EntityFramework软件包未安装在项目“x”上。将下拉列表更改为EF项目,一切又恢复正常 但所选项目是正确的 所以我用命令检查了package manag

我正在从事一个.NETCore2.2项目。我安装了Entity Framework核心nuget包

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

项目上未安装EntityFramework包

我找到了一个解决办法

此错误的一种可能性是,在PackageManager控制台中,有一个“defaultproject”下拉列表。如果设置不正确,您将看到EntityFramework软件包未安装在项目“x”上。将下拉列表更改为EF项目,一切又恢复正常

但所选项目是正确的

所以我用命令检查了package manager控制台中的模块

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...*
因此,我认为在我的类库中有两个实体框架版本。但当我签入managenumget包选项时,并没有找到实体框架,只有实体框架核心存在


如何解决此问题?

如果您的
DbContext
位于不同的定制类库中,而不是在启动项目中,则可能需要在EF命令中指定此项目:

有了powershell,那就太棒了

Add-migration NameOfMigration -Project Namespace.ToContextProject
使用dotnetcli

dotnet ef migrations add NameOfMigration --project relativePath/ToContextProject
dotnet ef migrations add InitialCreate -p  relativePath/ToContextProject

如果您的
DbContext
位于不同的定制类库中,而不在启动项目中,则可能需要在EF命令中指定此项目:

有了powershell,那就太棒了

Add-migration NameOfMigration -Project Namespace.ToContextProject
使用dotnetcli

dotnet ef migrations add NameOfMigration --project relativePath/ToContextProject
dotnet ef migrations add InitialCreate -p  relativePath/ToContextProject

我有一个类似的问题,在运行Get模块EntityFramework*时,我有两个参考,一个是EntityFramework 6.0,另一个是EntityFrameworkCore


我从未安装过EntityFramework6。然而,为了克服这个问题,我必须对我想要添加迁移的框架进行鉴定并更新数据库。

我遇到了一个类似的问题,在运行get Module EntityFramework*时,我有两个参考,一个是EntityFramework 6.0,另一个是EntityFrameworkCore


我从未安装过EntityFramework6。但是,为了克服这个问题,我必须对我想要添加迁移的框架进行限定,并更新数据库。

当您将dotnet cli命令与
dotnet ef migrations add Initial
一起使用时,会发生什么情况?您尝试在哪里发出命令。在powershell窗口中,是否在VS中设置包管理器?您的解决方案中是否有多个项目?如果有,您的上下文是否在启动项目中?在新类库的VS、ys、Context中的package manger中进行了尝试。将dotnet cli命令与
dotnet ef migrations add Initial
一起使用时会发生什么情况?您尝试在何处发出命令。在powershell窗口中,是否在VS中设置包管理器?您的解决方案中是否有多个项目?如果有,您的上下文是否在启动项目中?在新类库中的VS、ys、Context中的package manger中尝试。