J'ai une base de données existante. J'espérais qu'il y avait un moyen de générer des fichiers de classe à partir de cette base de données. Cependant, il semble que je vois beaucoup de choses générer la base de données à partir des fichiers de classe.
Existe-t-il un moyen de générer des fichiers de classe à partir d'une base de données existante à l'aide d'Entity Framework? Si c'est le cas, comment? Est-ce que quelqu'un peut m'indiquer un tutoriel?
1) Vous devez d’abord générer le modèle EDMX
à l’aide de votre base de données. Pour ce faire, vous devez ajouter un nouvel élément à votre projet:
ADO.NET Entity Data Model
dans la liste des modèles. Alors maintenant, vous avez le fichier Model1.edmx
dans votre projet.
2) Pour générer des classes à l'aide de votre modèle:
EDMX
.EF 4.x DbContext Generator for C#
.Notez que deux éléments sont ajoutés à votre projet:
Model1.tt
(Ce modèle génère des classes POCO très simples pour chaque entité de votre modèle) Model1.Context.tt
(Ce modèle génère un DbContext dérivé à utiliser pour interroger et conserver des données)3) Exemple de lecture/écriture de données:
var dbContext = new YourModelClass(); //class derived from DbContext
var contacts = from c in dbContext.Contacts select c; //read data
contacts.FirstOrDefault().FirstName = "Alex"; //edit data
dbContext.SaveChanges(); //save data to DB
N'oubliez pas que vous avez besoin de la version 4.x d'EntityFramework. Vous pouvez télécharger EF 4.1 ici: Entity Framework 4.1 .
J'ai trouvé une très bonne solution. Microsoft a publié une version bêta d'Entity Framework Power Tools: Bêta 2 d'Entity Framework Power Tools
Vous pouvez y générer des classes POCO, le mappage dérivé de DbContext et Code First pour une base de données existante en quelques clics. C'est vraiment bien!
Après l’installation, certaines options du menu contextuel seront ajoutées à votre Visual Studio.
Cliquez avec le bouton droit sur un projet C #. Choisissez Entity Framework-> Code d'ingénierie inverse en premier (génère des classes POCO, le mappage dérivé de DbContext et Code First pour une base de données existante):
Ensuite, choisissez votre base de données et cliquez sur OK. C'est tout! C'est très facile.
Le modèle EDMX ne fonctionnera pas avec EF7, mais j'ai trouvé un produit Community/Professional qui semble très puissant: http://www.devart.com/entitydeveloper/editions.html