代码之家  ›  专栏  ›  技术社区  ›  Jinesh

错误-尝试在.net core 2.2中启用迁移时,项目上未安装EntityFramework包

  •  0
  • Jinesh  · 技术社区  · 5 年前

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

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

    项目上未安装EntityFramework包

    我找到了一个解决办法,

    但选定的项目是正确的。

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

    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...*
    

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

    enter image description here

    如何解决这个问题?

    0 回复  |  直到 5 年前
        1
  •  0
  •   Marco    5 年前

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

    有了powershell那就好了

    Add-migration NameOfMigration -Project Namespace.ToContextProject
    

    使用dotnet cli

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