2011-01-04 1 views
7

J'utilise le framework framework first entity et je voudrais savoir comment exécuter du code lors de la création de la base de données pour pouvoir remplir ma base de données avec quelques données. (Notez que je demande la création d'une base de données, pas à chaque démarrage de l'application).Comment puis-je renseigner les données dans le code Entity Framework d'abord lors de la création de la base de données?

Est-ce que quelqu'un sait s'il existe une méthode ou un événement que je peux utiliser pour cela?

Répondre

7

Vous pouvez utiliser custom database initializer - cela signifie mettre en œuvre IDatabaseInitializer et en enregistrant cet initialiseur en appelant Database.SetInitializer.

+0

L'article est pour CTP 4, dans CTP 5, ils ont changé l'initialiseur en DbDatabase.SetInitializer – ajma

+0

(Ajma ... nous ne travaillons pas avec une version RTM de Code First et la réponse de Ladislav est correcte: Database.SetInitializer, pas DbDatabase.) –

+0

hey qui était supposé être "maintenant" non, "non":) –

11

Je voudrais ajouter à la réponse de Ladislav. L'article qu'il a pointé montre comment créer un initialiseur mais ne montre pas comment utiliser un initialiseur pour remplir une base de données nouvellement créée. DbInitializer a une méthode appelée Seed que vous pouvez remplacer. Vous pouvez voir un exemple de comment utiliser ceci dans cet article (ou vidéo si vous préférez, qui est sur la même page) http://msdn.microsoft.com/en-us/data/hh272552

Questions connexes