J'ai un étrange sentiment quand il s'agit de la première technologie de migration de code. Tout d'abord, c'est un concept qui a ses origines dans les technologies telles que Ruby on Rails. Pas que j'aie quelque chose contre ça, s'il te plait, ne me fais pas tort. Ce dont je ne suis pas sûr, c'est que l'utilisation de Code First Migration est une bonne approche quand il s'agit d'applications d'entreprise évolutives pouvant inclure des rapports, etc. Je parle essentiellement de situations où la conception de base de données, l'optimisation joue un rôle critique dans la performance générale (dénormalisation, indexation, sharding, etc.). Mon sentiment est que Code First Migration apporte des frais généraux importants. Ai-je raison, ai-je tort? J'aimerais vraiment entendre vos opinions.Entity Framework Code Première migration - mauvaise ou bonne
Répondre
Vous avez tort.
EF n'a rien à Migrations voir avec la façon dont votre base de données est conçue. Il s'agit uniquement d'un processus ponctuel qui génère simplement des scripts sur deux versions du schéma de base de données et détermine comment migrer automatiquement l'un vers l'autre.
ne fonctionne pas migrations lors de l'exécution d'applications, il ne dispose pas de frais généraux ou affectent les performances de l'application. Cela ne fonctionne qu'avec les schémas existants car EF les génère eux-mêmes. En fait, ce processus est tellement générique, il n'est même pas spécifique à EF, les migrations peuvent être utilisées pour migrer entre deux schémas quelconques, qu'ils utilisent EF ou non.
En tant que tel, il n'a rien à voir avec la façon dont la base de données exécute.
Le schéma est contrôlé par EF lui-même, et dépend de la façon dont vous associez la base de données. Oui, il est vrai que si vous laissez simplement EF faire tout le travail, vous pourriez vous retrouver avec un schéma moins qu'optimale, mais vous pouvez entièrement contrôler comment il génère cela en utilisant des Mappages Fluent.
- 1. Entity Framework 5 Première migration de downgrade de code
- 2. Entity Framework 6 Code Première de contextKey de migration
- 3. Entity Framework Code Première classe
- 4. Entity Framework Code Première utilisation
- 5. Entity Framework Code Première relation Problème
- 6. Entity Framework Code Première situation de mappage
- 7. Comment la bonne façon d'annuler la migration avec Entity Framework
- 8. Entity Framework Code Première jointure personnalisée
- 9. Entity Framework Code Première carte (liée) Table?
- 10. Code première implémentation dans Entity framework
- 11. Code de Entity Framework Première: Cartographie personnalisée
- 12. MVC bonne ou mauvaise pratique
- 13. Entity Framework Code Première erreur avec le projet de test
- 14. Bonne pratique ou mauvaise pratique
- 15. Entity Framework Code Premiers problèmes de migration - Dataloss
- 16. Entity Framework Code Première MaxLength et FixedLegth (char vs varchar)
- 17. EntityFramework5 code-première migration
- 18. Echafaudage d'une migration par programmation dans entity framework 5 code
- 19. Visual Studio Code Entity Framework Core Add-Migration non reconnu
- 20. Entity Framework - Première requête lente
- 21. Scripting Migration initiale avec Entity Framework
- 22. Entity Framework Database première configuration
- 23. Entity Framework Code première erreur avec les objets auto-référencés
- 24. Entity Framework 6 Code Mappage de la première fonction
- 25. Code First Entity Framework
- 26. Entity Framework Code Première lecture et écriture table de pont
- 27. Comment spécifier une clé composée dans Entity Framework Code Première
- 28. Entity Framework 4 Première solution d'héritage de code par réflexion
- 29. Colonne IDENTITY - bonne ou mauvaise?
- 30. Entity Framework Code Première: Table avec deux clés étrangères
Les frais généraux à laquelle je faisais allusion est au sujet du processus de maintenance lorsque le schéma db doit modifier afin d'améliorer les performances. Je n'ai jamais mentionné que la migration s'exécute lorsque l'application s'exécute. –
@MihaiH - Je ne comprends vraiment pas votre point alors. Vous devez modifier la base de données d'une manière ou d'une autre, je ne vois pas comment générer automatiquement les scripts pour le faire est plus de frais généraux que de le faire manuellement. –
Afin de garder la migration en synchronisation? Vous êtes conscient que la migration repose sur le POCO actuel et les relations entre eux. –