2016-02-06 1 views
0

J'apprends l'EF à l'école et je travaille actuellement avec EF 5, MVC 5, je n'arrive pas à comprendre les Migrations et ContextInitializer. Je suis ce guide parce que je le trouve plus adapté à mon projet. J'ai lu et presque construit le guide mis à jour mais, parce que j'utilise un EF5 légèrement plus vieux, je ne pourrais pas le faire fonctionner.
Ma question est la suivante: dans le nouveau guide EF6, il y a ce Migrations.cs qui a une méthode Seed, dans l'ancien guide EF5, la méthode Seed est dans le [Model] ContextInitializer, quelle est la meilleure pratique des deux ? J'ai compris que la migration est un peu meilleure en termes de mise à jour de la base de données avec les commandes Enable-MigrationsAdd-Migration MyTitle et Update-Database dans la console du gestionnaire de packages.
Si c'est une question idiote, je vous demande pardon.Entity-Framework Quelle est la différence entre Migrations Seed et ContextInitializer Seed?

Répondre

1

Migration méthode Seed est pour les données d'ensemencement juste après la migration de base de données et DB méthode Initializer Seed est pour les données d'ensemencement juste après l'initialisation de la base de données.

Vous pouvez utiliser Db Initialiser Seed méthode pour ajouter des données initiales à DB droite après initialisation, mais vous pouvez utiliser la méthode de migration Seed pour vérifier et/ou ajouter de nouvelles données ou faire des choses spéciales juste après la migration .

Cela peut être un peu déroutant mais si vous y réfléchissez, vous le comprendrez bien. Ce sont des cas différents.