Ich richte ein neues Projekt mit asp.net 5 und MVC 6, aber ich möchte Entity Framework 6 aufgrund der fehlenden Funktionen in EF 7 verwenden.
Ich habe EF 6.1.3 eingerichtet und das funktioniert.
Identität 3.0 hängt von EF 7 ab, also habe ich das entfernt und in Identity 2.2 referenziert aber ich bin mir nicht sicher, wohin ich von hier aus gehen soll.
Ich bin mir nicht sicher, wie dies in der endgültigen Version von ASP.NET 5 gehandhabt wird, aber im Falle von ASP.NET 5 RC1 haben wir Folgendes:
Zuerst sollten Sie mit Identity 3.0 gehen, da es keine Möglichkeit gibt, Identity 2.x in MVC 6 zu verwenden, soweit ich weiß.
Zweitens müssen Sie zur Implementierung von Identity 3.0 mit EF6 eigene "EF6-freundliche" Versionen aller Klassen im Microsoft.AspNet.Identity.EntityFramework-Namespace implementieren (der Code ist hier verfügbar - Ссылка ), da die ursprünglichen Klassen nur mit EF7 funktionieren sollen:
Ihre Implementierungen sollten EF6 anstelle von EF7 verwenden. Der Prozess ist ziemlich einfach, aber wenn Sie Zeit sparen möchten, habe ich meine Implementierung hier geteilt:
Dies kommt in ein paar Teilen.
Microsoft.AspNet.Identity
3.0.0 verwenden, aber Sie müssen Ihre eigenen UserStore
und RoleStore
erstellen. Persönlich kopierte ich die Quelle von UserStore.cs und RoleStore.cs und machte die notwendigen Anpassungen an Verwenden Sie meine EF6 Benutzer- und Rollenklassen. Sie haben einige zusätzliche Funktionen, die in EF6 standardmäßig nicht verwendet werden, wie die Normalisierung von Benutzernamen, E-Mail-Adressen und Rollennamen, die Sie unterstützen müssen (oder umgehen), aber die Schnittstellen erfordern nur POCOs, also werden Sie dort gut sein. EDIT für 1.0.0: Migrator.EF6 unterstützt jetzt 1.0.0.
EDIT für RC2: Migrator.EF6 unterstützt jetzt RC2.
Am besten wäre es, den EF7-Provider von Identity mit EF6 zu betreiben.
Für einen bereits ausgeführten Port überprüfen Sie dies für Identity 3.0 + EF6, das unter Asp.Net Core (5) arbeitet: MR.AspNet.Identity.EntityFramework6 .
Wenn Sie außerdem EF6-Migrationen benötigen, überprüfen Sie meine andere Antwort hier .
Hier ist ein winziger Wrapper, der die ASP.NET EntityFrameowork 6 in einer einzigen ASP.NET Core Identity portiert kleine Datei.
Was es tut, es umschließt das vorhandene UserStore
für EF6 im neuen agnostischen ASP.NET Core IUserStore<TUser>
.
Unterstützung für TKey
leicht gemacht.
Tags und Links asp.net-core entity-framework-6 asp.net-identity-2