Question

J'ai un projet ASP.net (C #) qui utilise une architecture à trois couches. J'ai commencé à utiliser Entity Framework dans mon DAL et la question de savoir dans quelle mesure, les classes générées par Entity Framework peut être utilisé dans la couche logique métier?

Il est une bonne idée de les utiliser directement ou devrais-je créer mes propres objets métier et la carte à eux de Entity Framework (db-> O / RM-> BOs)?

Était-ce utile?

La solution

A mon avis, les objets EF seraient mis en correspondance avec le vôtre. Cela a un coût plus élevé de développement, mais donne l'avantage de l'ignorance de la persistance et le découplage. Ce découplage peut se traduire par une agilité et des économies considérables du monde réel à long terme, si l'entreprise a besoin de passer à une solution de persistance différente. Sans le découplage, les objets EF peuvent devenir profondément ancrées dans les couches BLL et même présentation, ce qui nécessite un énorme refactoring. Dans ce cas, l'entreprise pourrait ne pas même envisager des solutions de commutation de persistance, ce qui pourrait provoquer l'entreprise d'être moins compétitifs.

La décision de récolter cet avantage au coût de développement supérieur dépend de la quantité de risque que l'entreprise est prête à prendre. Je vous suggère de consulter les commissaires de projet et d'utiliser votre meilleur jugement pour interpréter leurs objectifs stratégiques sur le plan technique.

Autres conseils

Il devrait être assez raisonnable pour utiliser les classes générées comme vos objets métier. Les classes générées sont partielles de sorte que vous pouvez facilement les étendre comme vous s'il vous plaît. Parfois, je trouve une option plus agréable cependant d'utiliser des interfaces.

Je viens de commencer sur EF 2.0 (en .Net 4.0 beta 2) et il a la possibilité d'utiliser clases POCO comme des entités EF. à savoir Vous pouvez maintenant utiliser des classes ignorants de la persistance dans EF 2.
Je pense que ce n'est pas tout à fait prêt encore, que je ne pouvais pas suivre la présentation du PDC 2009 lorsque vous travaillez dans Visual Studio 2010 bêta 2, mais garder une montre pour cela à ADO.Net blog de l'équipe.

Vous pouvez regarder le persistance L'ignorance (POCO ) Adaptateur pour Entity Framework . Ceci est un projet open-source d'un membre de l'équipe EF qui apporte un soutien POCO à EF 1.0. EF 4.0 aura le soutien POCO hors-the-box, mais ce projet sert de mesure palliative jusqu'à .NET 4.0 gouttes en 2010.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top