2013-01-20 3 views
2

J'ai démarré un projet et utilisé Entity Framework 5. Maintenant, j'ai créé une base de données sur SQL Server Express avec toutes les tables. En outre, j'ai créé le DbContext avec un mappage fluide. Quoi de mieux, les mappages courants ou les fichiers de mappage .edmx?Création de mappage de base de données et de mappages

La base de données est maintenant sur le serveur SQL mais je veux aussi prendre en charge SQL local db.

Existe-t-il un moyen de dire au EF que je veux utiliser une base de données SQL locale?

Dois-je expédier toute la base de données dans la configuration ou mieux pour créer la base de données au démarrage de mon application? Comment puis-je utiliser EF pour créer la base de données (serveur SQL ou SQL local db)?

Toute aide utile serait appréciée.

+0

vérifier http://stackoverflow.com/questions/9716372/is-localdb-supported-by-visual-studio-2010-in-entity-framework-5 – spajce

+0

@spajce: Merci à ce jour pour cela. –

+0

ne pouvez-vous pas dire simplement quelle base de données utiliser via votre app.config/web.config? – bas

Répondre

1

Si vous utilisez EF5 je resterais loin d'edmx. Vous pouvez effectuer l'ingénierie inverse de votre modèle à partir de la base de données à l'aide d'Entity Framework Power Tools. Que vous pouvez personnaliser votre modèle en utilisant des annotations de données ou des mappages fluides. Si vous utilisez le code EF5 d'abord, il peut créer une base de données automatiquement pour vous si elle n'est pas présente, mais cela ne fonctionnerait pas très bien sur les mises à jour suivantes (elle peut recréer la base de données mais vous utiliserez vos données existantes). Les options que vous pouvez utiliser sont soit des migrations EF, où vous pouvez spécifier dans une langue fluente les modifications apportées à votre base de données ou utiliser Database Project dans Visual Studio, où vous pouvez stocker tout votre schéma dans le contrôle source, puis générer une base de données mettre à jour les scripts entre les versions.

+0

merci. Je l'essaie :) –

+0

Pourquoi devrais-je rester loin d'edmx? Que se passe-t-il si je mets à jour la base de données et ré-ingénierie mon modèle, est-ce que toutes mes modifications sont remplacées? –

+0

Eh bien, ce fut mon impression après avoir lu cet article http://thedatafarm.com/blog/data-access/code-first-and-dbcontext-are-now-ldquo-the-entity-framework-rdquo/ semblait comme edmx est maintenant un citoyen de deuxième classe. Cependant, l'autre bonne comparaison est ici http://msdn.microsoft.com/en-us/magazine/hh148150.aspx où ils suggèrent que si vous préférez le concepteur visuel et avez la base de données existante alors la base de données d'abord peut être le chemin à parcourir . –

Questions connexes