Mise à niveau d'Entity Framework 6 vers EF Core

asp.net-core entity-framework entity-framework-core

Question

J'essaie de déplacer une application ASP.NET MVC 5 vers MVC 6 (ASP.NET vNext).

Mon application existante utilise EF 6 et comporte certaines premières migrations de code EF. Je souhaite également porter ces migrations, car je veux pouvoir continuer à utiliser les bases de données existantes avec les migrations existantes déjà appliquées, sans interrompre le chemin de mise à niveau.

Il semble que les "nouvelles" migrations EF Core ( k ef migration add ... ) aient un format assez différent de celui des "anciennes" migrations EF 6:

  • Plus de cours partiel de Designer
  • Plus de fichier RESX

Existe-t-il déjà un moyen "officiel" de mettre à niveau ces migrations? Est-il pris en charge du tout? Sera-t-il pris en charge à l'avenir?

Réponse acceptée

Il n'y a pas vraiment de moyen de le faire pour le moment. En général, il est fortement déconseillé d'essayer de mettre à jour une application EF6 vers EF7. EF7 est encore très pré-release.

Nous aurons quelques conseils sur la façon de procéder lorsque nous nous rapprocherons de RTM. Nous pouvons fournir des outils pour vous aider ou simplement quelques conseils sur la façon de le faire.


Réponse populaire

Date: 13 avril 2016

Pour le moment, il n’est pas conseillé d’utiliser EF7 en production à cause des limitations suivantes

  • "En raison des modifications fondamentales apportées à EF7, il est déconseillé à ce stade de déplacer une application EF6.x vers EF7. Si vous souhaitez passer à EF7 pour utiliser de nouvelles fonctionnalités, assurez-vous que vous connaissez les limites Avant de commencer, EF7 devrait considérer le passage de EF6.x à EF7 comme un "port" plutôt que comme un "surclassement".

  • Notre pipeline de requêtes est un domaine de RC1 qui présente un certain nombre de problèmes en suspens . La majorité des problèmes donnent lieu à une exception lorsque vous tentez d'exécuter une requête LINQ contenant un modèle particulier. Il existe souvent des solutions pour contourner ces problèmes en exprimant la même requête à l'aide de modèles différents ou en évaluant des parties de la requête côté client. Nous essayons d'inclure ces solutions de contournement dans le problème, lorsqu'elles sont disponibles.

  • Dans RC1, il existe plusieurs scénarios dans lesquels EF7 exécute plus lentement que EF6.

Autres lectures: https://blogs.msdn.microsoft.com/dotnet/2015/11/18/entity-framework-7-rc1-available/



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi