Migration automatique vs à base de Code de la Migration
Je suis en train d'apprendre EF4.3 de la Migration, et j'ai lu ces deux articles de ado.net blog de l'équipe:
http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx
http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx
Mais après la lecture de ces deux articles, j'ai pas encore clair quelle est la différence entre eux et lors de l'utilisation de code à base de migraion, lors de l'utilisation de migration automatique. Quelqu'un peut me guider?
Merci!
- Je déteste la façon dont MS simplement s'approprie le vocabulaire. Il y a ceux qui pensent que le "code de la migration" signifie "convertir le code d'une langue/plate-forme à l'autre" et que "la migration automatique" signifie "faire le code de la migration automatiquement".
- cela me rappelle le sujet de la Délimitée Contextes en DDD. martinfowler.com/bliki/BoundedContext.html
- Les liens ne semblent pas fonctionner, y a-t-articles à jour sur ce point?
Vous devez vous connecter pour publier un commentaire.
Ces articles sont très clair, donc si vous ne comprenez pas la différence que cela signifie que vous n'avez pas se concentrer lors de la lecture du texte et vous aussi probablement n'a pas suivi le texte par des exemples de code vous-mêmes.
Migration automatique est juste un outil magique. Vous exécutez votre application et vous recevrez toujours votre base de données dans la version la plus récente car EF fera implicite de la migration à chaque fois qu'il est nécessaire - dans la plus pure version vous n'avez jamais besoin de faire quelque chose de plus que l'activation automatique des migrations.
Migrations automatiques sont parfois pas assez. Vous avez besoin d'ajouter un peu de personnalisation à la migration de code ou d'exécuter certaines autres commandes SQL par exemple de transformer des données. Dans ce cas, vous ajouter un code explicite basé sur la migration en appelant
Add-Migration
de commande. Explicite de migration montre de la migration de code qui sera exécuté lors de la migration (il n'y a aucune magie).Si vous désactivez les migrations automatiques, vous devez toujours définir explicite de la migration pour définir la base de données mise à niveau des processus bien définis étapes explicites. Cela est particulièrement utile pour les scénarios où vous devez utiliser à la fois la mise à niveau et la rétrogradation à la version spécifique.
Sql
ouCreateIndex
ouDropIndex
méthodes, il préconise le code de la migration.Il n'y a plus d'infos à propos de votre question à MSDN. Ils ne recommandent pas de mélange automatique et le code en fonction des migrations dans l'équipe de scénarios de développement. Mais je ne comprends pas clairement quels sont les problèmes que cela peut créer.