Utilisation d'Entity Framework comme couche d'accès aux données
Dans mon ASP.NET application que je souhaite mettre en œuvre par les données d'accès de la couche à l'aide de l'Entité framweok donc je peux l'utiliser comme un outil ORM. Mais je ne veux pas le reste de la demande de soins que je suis en utilisant ce ou être pollué par quoi que ce soit de l'entité frameowrk spécifiques.
Je ne peux pas l'air de trouver quelqu'un qui est à l'aide de entity framework exclusivement dans leur couche d'accès aux Données, je suis impatient de voir en ligne des exemples de cette expérience que les gens ont.
source d'informationauteur AJM
Vous devez vous connecter pour publier un commentaire.
http://ayende.com/Blog/archive/2007/06/08/Rhino-Commons-RepositoryltTgt-and-Unit-Of-Work.aspx
Regardez l'exemple ci-dessus, vous pouvez mettre en œuvre l'entité cadre de la même façon en utilisant un modèle de référentiel
Vous pourriez résumé le cadre de l'entité en utilisant quelque chose comme le modèle de référentiel comme ScottGu ne avec Linq dans le NerdDinner de la série.
http://nerddinnerbook.s3.amazonaws.com/Part3.htm
http://blog.keithpatton.com/2009/05/30/Entity+Framework+POCO+Repository+Using+Visual+Studio+2010+Net+40+Beta+1.aspx
c'est DDD architecture d'inspiration, j'ai juste travaillé avec EF v4 qui utilise l'Unité du Cio à injecter un EF référentiel, l'espoir qui aide
J'ai utilisé Entity Framework comme l'accès aux données sur mes deux derniers projets. Ce sont de grandes (pour moi au moins) des projets avec plusieurs centaines de tables, de 5 à 15 développeurs d'une durée de plus d'un an.
Dans les deux projets, nous avons un WCF interface dans notre couche de service. Nous n'avons pas voulu utiliser l'Entity Framework objets dans nos Contrats WCF. Nous avons donc créé des Objets de Transfert de Données, et nous avons une carte entre DTO et Entity Framework objets.
On rompt les dépendances et conserve les contrats aussi stable que possible, mais crée un travail supplémentaire.
En fonction de votre horizon de temps, je voudrais faire comme ceci ou utiliser les objets POCO dans la prochaine version, comme Kieth mentionné.
L'EF ou tout autre ORM (c'est à dire NHibernate) ne remplace pas votre Couche d'Accès aux Données. Plutôt, l'ORM est une couche d'abstraction à partir de la DAL pour la source de données.
Ne faut pas être dupe pour croire que l'EF n'loin avec le DAL. L'EF est juste une autre source de données-cadre. Cependant, dans les meilleures pratiques, vous voulez toujours à l'abstrait et de centraliser tous les accès (lecture/écriture) dans une commune de la DAL.
Voici un parfait exemple de ce que je suis en train de parler. Supposons que vous avez pour supprimer un utilisateur donné dans l'un de vos cas d'utilisation. Cependant, lors de la suppression de l'utilisateur, vous pouvez supprimer les autres documents associés à l'utilisateur supprimé pour éviter les enregistrements orphelins (Pour être honnête avec vous, je voudrais utiliser une procédure stockée pour cela). Maintenant, ce cas d'utilisation est coincé dans un BO qui est très spécifique à ce cas d'utilisation et de supprimer en tant que l'utilisateur n'est qu'une partie du total des cas d'utilisation.
À un certain point dans le temps, vous avez un développeur qui est demandé pour intégrer un autre cas d'utilisation qui se fait d'impliquer la suppression d'un utilisateur! Le développeur peut faire quelques choses. 1) Il peut créer un nouveau cas d'utilisation qui implique désormais la suppression d'un utilisateur, mais vous avez oublié de supprimer tous les enregistrements associés à cet utilisateur. 2) Il peut être remarqué que les précédentes, mais ne pouvait pas l'utiliser directement, sans généraliser pour son cas d'utilisation, il a donc décidé de copier une partie de ce cas d'utilisation qui supprime un utilisateur et ses enregistrements associés, dans son cas d'utilisation. Maintenant, nous avons des doublons parties du code qui ne font pratiquement la même chose - pour supprimer un utilisateur. Beurk! Maintenant, après avoir mis cette "suppression d'un utilisateur' en dire un DAL.Les utilisateurs de la classe helper, vous éviter cette mauvaise pratique de la conception.
De toute façon, la seule bonne chose à propos de l'EF, il réduit le nombre d'Entités d'Affaires que j'ai utilisé pour créer manuellement et offre une vue différente des données à partir d'une application au niveau de ce qui est vu dans le magasin de données.