2016-02-01 10 views
12

Mam wersję szkieletową ustawioną na: dnx46 w project.json. mają również następujące pakiety:EF7: Termin "migracja dodatkowa" nie jest rozpoznawany jako nazwa cmdleta

"dependencies": { 
    "EntityFramework.Commands": "7.0.0-rc1-final", 
    "EntityFramework.Core": "7.0.0-rc1-final", 
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final", 
    "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final" 
    } 

Jednak kiedy mam do uruchomienia Enable-migracje dowodzić uzyskać następujące:

termin „enable-migracje” nie jest rozpoznawana jako nazwy cmdletu

Czy ktoś wie, jak uzyskać migracje EF działające w najnowszym .NET?

Odpowiedz

0

Nie ma polecenia "włącz-migracje" w EF Core (EF7).

Wystarczy użyć "dodatek Migration"

+0

Czy to jest w konsoli PowerShell lub nowych narzędziach DNX? – user183872

+0

Konsola Powershell – ErikEJ

+0

PM> Dodaj-migracja Dodatek migracja: Termin "migracja dodatkowa" nie jest rozpoznawany jako nazwa polecenia cmdlet, funkcji, pliku skryptu lub działającego programu. Sprawdź pisownię nazwy lub, jeśli ścieżka została uwzględniona, sprawdź, czy ścieżka jest poprawna, i spróbuj ponownie. – user183872

6

Jak ErikEJ mentioned, nie ma "enable-migracje". Będziesz musiał zamiast tego użyć "Add-Migrations". Zobacz oficjalne dokumenty dla poleceń Powershell EF Core tutaj: http://docs.efproject.net/en/latest/cli/powershell.html

Wygląda na to, że w NuGet i konsoli menedżera pakietów pojawia się błąd w niektórych wersjach Visual Studio. Jeśli polecenia cmdlet nie zostaną rozpoznane po dodaniu pakietu Commands, spróbuj ponownie uruchomić VS.

Ponadto polecenia dnx nie będą obsługiwane po RC1. Nowe (nadchodzące) narzędzia dotnet będą dostępne dla RC2. Zobacz https://github.com/aspnet/EntityFramework/issues/3925

+0

Po migracji jeszcze nie działa, nawet po ponownym uruchomieniu komputera.Cieszę się, że trzymam się PowerShella, ale zaskakuje mnie to, że polecenia dnx nie są już obsługiwane, ponieważ Visual Studio Code potrzebowałoby tego rodzaju narzędzi, prawda? – user183872

+0

Komendy dnx zostaną zastąpione komendami dotnet. Będą działać prawie tak samo, więc użytkownicy VS Code nadal będą mieli narzędzia EF. – natemcmaster

+0

Z jakiej wersji systemu operacyjnego korzystasz? – ErikEJ

1

Aby dodać nową migracja EF7 użyj polecenia:

dnx ef migrations add YourMigrationUniqueName 
5

Jedynym sposobem udało mi się pobierz EntityFrameworkCore.Tools (który zawiera Add-Migration) pracujący z najnowszym rdzeniem EF Core & VS to ręczne wywołanie skryptu init z Konsoli Menedżera pakietów, tak jak to:

PM> %UserProfile%\.nuget\packages\Microsoft.EntityFrameworkCore.Tools\1.0.0-preview1-final\tools\init.ps1 
24

To co pracował dla mnie, aby rozwiązać ten problem:

Run:

Install-Package Microsoft.EntityFrameworkCore.Tools –Pre 

W project.json dodać ten (jeśli jeszcze nie istnieje) do "narzędzia" punkt:

"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview4-final", 

Przydatne referencyjny: https://docs.efproject.net/en/latest/platforms/aspnetcore/new-db.html

+1

Czy to teraz działa? Powiedziano mi, że nie jest obsługiwany (patrz poniżej odpowiedź). – user183872

+0

Tak, działa dla mnie z Visual Studio Community 2015 Wersja 14.0.25425.01 Aktualizacja 3 z Microsoft.EntityFrameworkCore.Tools wersja 1.0.0-preview2-final –

+3

To w końcu mi się udało. Musiałem ponownie uruchomić VS i usunąć mój plik 'project.lock.json'. – craftworkgames

Powiązane problemy