7
votes

Cadre d'entité avec base de données existante

Je cherche à mettre en œuvre l'entité framework version 4.3.1 dans mon projet existant qui ne suivez pas cette ef.La base de données est déjà développée et est actuellement utilisée pour appliquer ado.net.in cette affaire comment puis-je commencer par Travailler sur EF, est la base de données de la base de données, code en premier.


0 commentaires

3 Réponses :


1
votes

Étant donné que votre base de données existe déjà, le choix évident est la base de données d'abord. Si la base de données est conçue avec le bon sens, cela fonctionne (principalement) génial.


0 commentaires

0
votes

Je pense que la question est de savoir si vous souhaitez utiliser le concepteur EF pour visualiser votre base de données ou non. Puisque vous consultez EF 4.3.1 (en fait, vous devriez regarder EF5 non 4.3.1 - EF5 est la dernière version) Je suppose que vous ne vous souciez pas du concepteur. Dans ce cas, vous pouvez utiliser des outils électriques EF pour inverser l'ingénieur de votre base de données. Cela créera un ensemble de classes qui correspondront à votre base de données. Notez que, étant donné que la base de données a déjà été créée, EF ne sera pas en mesure de détecter les modifications apportées à vos classes (par opposition aux bases de données créées par le code lorsque des informations supplémentaires sont stockées dans la base de données et EF est capable de savoir si le modèle a changé). Assurez-vous de lire ce Publication du blog - Il contient beaucoup de détails que vous trouverez peut-être utile pour prendre la décision. Si vous vous souciez de pouvoir voir votre modèle dans le concepteur, vous pouvez simplement utiliser VS pour inverser ingénieur DB. Si vous utilisez VS2012, vous obtiendrez par défaut EF5 et DBContext. La différence d'utilisation d'un code d'abord sera que au lieu de construire les besoins du modèle EF en fonction de vos classes, le modèle est enregistré dans le fichier EDMX faisant partie de votre projet (et utilisé pour générer du code pour vous)


0 commentaires

14
votes

Même lorsqu'une base de données existe déjà, j'utilise toujours la première approche du code, cartographier les tables à l'aide d'annotations, car le domaine est bien davantage organisé que sur le fichier EDMX. S'il y a de nombreuses tables, Visual Edmx peut devenir vraiment inutile car la conception sera surpeuplée de données et de connexions sur la place.

en deux étapes, vous pouvez commencer par cette approche: p>

1) Créer Classe de modèle de domaine, Client CODE> par exemple, et mappez-le à votre table à l'aide des annotations de données: P>

var _db = new MyApplicationContext();
var customer = _db.Customers.Where(c => c.CustomerId == 37).FirstOrDefault();