2010-04-12 7 views
1

Bonjour, On m'a confié la tâche de créer un site web N-Teir en utilisant l'Entity Framework 4 et je suis confronté à des murs de briques, plus que probablement à ma connaissance.Entity Framework 4 architecture du site Web

Mon plan jusqu'à présent était d'avoir ces couches

Site Web (couche d'application),
Ce que je vous appelle Name.Framework (BLL),
Name.Data (DAL),
Nom. les entités (contient des classes de POCO et d'autres classes struct utilisés dans le site/BLL,
Name.Common (classe utilitaire)

J'ai essayé d'utiliser la classe de dépôt, mais je luttais pour faire fonctionner les choses que je pensais qu'ils Voici quelques exemples de ce que je suis coincé sur.

Si je veux utiliser .include() cela sera-t-il dans mon Repository ou est-ce la responsabilité de la couche de gestion? (et je n'ai aucune idée de comment cela fonctionnerait dans le BLL)

Même question pour .Order()? Comme je l'ai compris, cela devrait être dans le référentiel ou au moins passé dans le repo d'une certaine façon?!?

Dois-je utiliser le BLL pour transmettre le contexte au référentiel/à la couche de données? Au moment où j'obtiens une entité de la couche de données, toutes les propriétés de navigation qui n'étaient pas référencées dans le repo reviennent avec le 'Object Context Disposed', la couche Business devrait-elle toujours contenir le contexte etc pour que cela n'arrive pas?

Ou pour résumer cette aide !!!

Je dois avoir ceci dans un certain ordre d'ici demain (eek!) Comme le chef de projet veut savoir si nous allons continuer avec Entity Framework ou passer à NHibernate comme interne nous avons plus de connaissance de celui-ci .

Merci pour toute aide ou suggestions Matt

Répondre

1

Vous cherchez quelque chose de similaire moi-même j'ai trouvé this. Pas trop regardé en ce moment mais semble prometteur.

1

Je travaille actuellement sur un projet passe-temps web avec EF4 code seul, où j'ai la structure suivante ([nom] étant le nom de mon projet):

  • [nom] .web - Un ASP.NET MVC 2 projet
  • .Web.Models [nom] - modèles de vue personnalisée, ainsi que des correspondances AutoMapper de mon entité Objets
  • [nom] fichiers .models - Mes classes POCO, et interfaces pour reposito ries
  • [nom] .DataAccess - Certaines interfaces liées à l'accès aux données, par exemple IUnitOfWork
  • [nom] .DataAccess.EF - Tous Entity Framework classes liées et interfaces

J'ai aussi un projet de test pour chacun des éléments ci-dessus, plus quelques projets avec des aides et des extensions pour les tests. Il peut être pertinent de mentionner qu'une partie du but de ce projet de passe-temps est pour moi d'apprendre à utiliser EF4 avec certains modèles de design de mon choix (ceux qui concernent EF dans ce projet sont le Repository Pattern et le modèle d'unité de travail).Un autre objectif partiel est de construire une base de code que je puisse réutiliser dans des projets ultérieurs, et cela a affecté la division entre les projets dans ma demande - par exemple, si je n'étais pas concerné par la réutilisation, j'aurais probablement avoir toutes les classes liées à l'accès aux données dans un projet au lieu de deux.

0

Je l'ai mis en place un EF de base, poco, référentiel, l'architecture UnitOfWork en grande partie suivant cet article ici:

http://devtalk.dk/CommentView,guid,b5d9cad2-e155-423b-b66f-7ec287c5cb06.aspx

Je l'ai trouvé très utile dans ces efforts. Je ne sais pas si cela vous aide, mais d'autres pourraient être intéressés par le lien.

+0

Le lien que vous avez fourni est actuellement mort, malheureusement. –

Questions connexes