Le but de l'EF 6.x DbContext option Générateur lors de l'ajout d'un nouvel élément de données dans Visual Studio
J'ai une application web que j'ai construit à l'aide de LINQ to SQL et je suis à la recherche à la mise à niveau de LINQ to Entity Framework. J'ai regardé quelques tutos et ce que j'ai appris, c'est que, fondamentalement, dans la base de données-premier scénario, vous devez créer un ADO.NET Modèle de Données d'Entité. Et à partir de là, vous sélectionnez les tables à inclure dans le modèle (très similaire à LINQ to SQL).
Dans le Ajouter un Nouvel Élément dialogue, je vois qu'il y a une autre option qui permet de créer un EF 6.x DbContext Générateur:
Quel est le but de EF 6.x DbContext Générateur par rapport à ADO.NET Modèle de Données d'Entité (première option dans la boîte de dialogue)? Et, ce qui est EF 6.x DbContext Générateur pour? Il semble créer un fichier texte. Que dois-je faire?
Vous devez vous connecter pour publier un commentaire.
Si vous disposez déjà d'une base de données, la première option est la meilleure, étant donné que l'approche est très similaire à celui que vous travaillez déjà dans LinqToSQL.
L' .Fichier EDMX peut également vous fournir une visualisation graphique de votre base de données, et vous n'avez pas à vous soucier de rien d'autre.
La DbContext Générateur remplace le ObjectContext avec beaucoup plus simple et plus court code pour se connecter objets de l'Entité à des objets de base de données. Une seule table de base de données avec plus de 30 champs est représenté par environ 800 lignes de code comme un ObjectContext mais environ 40 lignes de facile à comprendre le code comme une DbContext et de la classe générée par le DbContextGenerator.
La DbContext Générateur crée deux fichiers -
de la création de la DbContext avec la chaîne de connexion de détails et un DbSet pour chaque table.
la création de la classe représentant de chaque table. Si vous ouvrez ces .tt dossiers, vous verrez la DbContext et les classes générées. Vous n'avez pas besoin de faire quoi que ce soit avec ces classes - vous à vous y référer dans les actions du Contrôleur.
Une procédure pas à pas est disponible à http://msdn.microsoft.com/en-US/data/jj206878
Je pense que c'est l'essentiel de l'article relatif à l'EntityFramework et générateurs:
Article MSDN
Ici est l'introduction de l'article:
Généralement ces générateurs ne pas convertir les votre db module de LinqToSQL à EntityFramework.
Si vous avez de la base de données complète (en supposant que vous avez aussi un module basé sur Linq2SQL), je vous recommande d'utiliser ADO.NET Modèle de Données d'Entité (l'ajout d'un nouvel élément: EDMX) et de choisir l'option "Générer à partir de la base de données' (VS Assistant après l'ajout d').
Il y a deux façons de le faire DB Première, consiste en un fichier EDMX, l'autre sur le reverse engineering pour le premier code POCO de l'.
Lorsque vous avez un fichier EDMX, d'installer des générateurs qui sont utilisés pour générer vos entités, et il y a plusieurs options. On est DbContext, l'autre est EntityObject générateur, qui produit des objets en se basant sur ObjectContext.
La première option créer un Modèle-le Premier fichier de travail avec EF (toutes les versions) qui, si vous choisissez que vous pouvez mettre à jour (ou de construire) votre EF-Modèle à partir d'une base de données existante, si choisissez la deuxième option, vous serait donné des installations de production d'correspondait fichiers pour créer une solution pour travailler avec du Code-Première EF.
Selon mon expérience, le deuxième choix n'est pas une option digne et si vous décidez de travailler avec le Code-Première EF, il est fortement conseillé d'ouvrir un fichier sain et écrire vos codes par vos propres librement et de profiter un maximum de souplesse offerte par le Code de la Première et de leurs conventions.