.NET,  C#,  Error

Brak komend do EF.Core w Package Manager Console

Problemy konfiguracyjne występują w projektach za często i są strasznie uciążliwe. Dziś napiszę o rozwiązaniu jednego z nich.

Opis problemu

Podczas korzystania z podejścia Code First w Entity Framework korzysta się z paru komend w Package Manager Console. Najpopularniejsze z nich to Add-Migration i Update-Database. Do tej pory, kiedy instalowałem paczkę Entity Framework komendy te były zawsze dostępne. Tym razem było inaczej, konsola zwróciła błąd:

Przygotowanie programu

Ze względu, że wpis na blogu dotyczy pewnego problemu wstawię kod bez większego wyjaśnienia. Zainstalowane paczki projektu dla EF Core:

Kod służący do stworzenie tabeli bazy danych:

class Detective
{
   public int Id { get; set; }
   public string Name { get; set; }
}

class ProgramDbContext:DbContext
{
   public DbSet<Detective> Detectives{ get; set; }
   protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
   {
      optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");
   }
}

Rozwiązanie

Aby możliwe było korzystanie z instrukcji dostarczonych przez Entity Framwork Core w konsoli należy zainstalować jeszcze jedną paczkę Nuget:

Dzięki niej możliwe jest użycie komendy Add-Migration oraz Update-Database:

Dlaczego wcześniej nie miałem takiego problemu

Problem nie występuje, gdy korzysta się z projektu ASP.NET Core, ponieważ szablon ma już w sobie zainstalowane domyślnie paczki związane z EF.Core. Oto one:

Jest już wśród nich Microsoft.EntityFrameworkCore.Tools, która jest sprawcą całego zamieszania.

Wcześniej, gdy robiłem coś w konsoli wykorzystywałem platformę .NET (nie Core), a tam nie było takiego problemu.

 

Social media & sharing icons powered by UltimatelySocial