![](/img/trans.png)
[英]NET 5 error when adding migration on Entity Framework Core
[英]Error -The Entity Framework package is not installed on project when I try to enable migration in .net core 2.2
我正在處理一個 .NET Core 2.2 項目。 我安裝了 Entity Framework Core nuget 包。
但是當我嘗試啟用遷移時,出現錯誤
EntityFramework 包未安裝在項目上
我找到了一個解決方案,
此錯誤的一種可能性 - 在包管理器控制台中,有一個“默認項目”下拉菜單。 如果設置不正確,您將得到 EntityFramework 包未安裝在項目“x”上。 將下拉列表更改為您的 EF 項目,一切都恢復正常。
但是選擇的項目是正確的。
所以我用命令檢查了包管理器控制台中的模塊,
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...*
所以我認為在我的類庫中發現了兩個實體框架版本。 但是當我簽入管理 nuget 包選項時,找不到 Entity Framework ,只有 Entity Framework Core 存在。
如何解決這個問題?
如果您的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
我有一個類似的問題,在運行 Get-Module EntityFramework* 時,我有 2 個引用,1 個用於 EntiryFramework 6.0,第二個用於 EntityFrameworkCore。
我從未安裝過 EntityFramework6。 然而,為了解決這個問題,我必須限定我想要添加遷移以及更新數據庫的框架。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.