2

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

2

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.

+0

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. –

+0

@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. –

+0

Afin de garder la migration en synchronisation? Vous êtes conscient que la migration repose sur le POCO actuel et les relations entre eux. –

Questions connexes