2010-07-12 4 views
4

Entity Framework 4.0 Futures aperçu (CTP3 maintenant) a un paradigme de code modélisation uniquement pour le mappage entre vos types et la base de données. Aucun fichier edmx impliqué et aucun concepteur EDM nécessaire.Avantages du modèle Code uniquement dans Entity Framework 4?

Je voulais savoir quels sont les grands avantages du seul code vs modèle d'abord? Qu'est-ce qui peut être fait dans le code d'abord qui ne peut pas être fait dans d'autres modèles (Model First & base de données d'abord)? Je pense peut-être plus de contrôle mais je ne peux toujours pas modifier les fichiers CSDL, SSDL, MSL et mon propre code pour obtenir le résultat dont j'ai besoin. Le modèle Code uniquement implique de tout faire dans le code qui pourrait être sujet à des erreurs comme la production du mauvais modèle désiré ou des définitions de propriétés manquantes.

Répondre

4

Il est vraiment une question de préférence. Citant le blog de conception EF:

Cependant, de nombreux développeurs voir leur code comme modèle.

Idéalement, ces développeurs veulent juste écrire certaines classes de domaine et sans jamais toucher un concepteur ou un morceau de XML pouvoir utiliser ces classes avec Entity Framework. Fondamentalement, ils veulent écrire «Code seulement».

http://blogs.msdn.com/b/efdesign/archive/2009/06/10/code-only.aspx

1

Sur la base de mon expérience, je pencherais pour Model-Tout d'abord, car il vous permet de modéliser votre domaine de façons si compliquées que faire dans le code-première serait difficile. En fait, il y aurait plusieurs scénarios de modélisation avancés que vous ne pourrez pas réaliser dans la première version du code en premier. C'est strictement ma pensée basée sur ma compréhension de la complexité de la modélisation. Mais jusqu'à ce que l'équipe d'EF finisse sur Code-First, nous ne le saurons pas.

Aussi, si vous êtes venu au monde LINQ sql, vous seriez surpris de voir un bon designer modèle d'entité est. Cela fonctionne vraiment bien et peut vous permettre de construire un modèle compliqué avec très peu d'effort du côté du développeur.

0

Un avantage immédiat de ceci est que si vous écrivez actuellement des classes partielles pour ajouter des méthodes ou des annotations de données à vos entités, vous pouvez maintenant avoir votre définition du modèle et des méthodes en un seul endroit. Si le modèle se complique au fil du temps, il peut être difficile de garder partout où vous avez besoin directement toucher quand vous avez besoin d'ajouter un nouveau champ, assurez-vous qu'il est validé, et ajouter la logique avec elle.

Questions connexes