IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET MVC Discussion :

Organisation du DAL en MVC3


Sujet :

ASP.NET MVC

  1. #1
    Membre habitué Avatar de Colbix
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    266
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 266
    Points : 150
    Points
    150
    Par défaut Organisation du DAL en MVC3
    Bonjour à tous,

    Je viens de commencer un projet en MVC3 + EF.
    Le projet est séparés en couches : GUI, BLL, DAL et BuisinessObjets. Classique quoi .

    Mon problème se porte sur la couche DAL. Comment doit-elle être organisée ?
    Voici deux options :
    1. Un fichier contient tous les DbSet. Et par classe, on crée un repository qui contient les fonctions de recherche.
    2. Par classe, on crée un fichier DAL qui contient le DBSet et les fonctions de recherche.

    Comment fait-on d'habitude ?
    Connaissez-vous un bon tuto pour MVC3 + EF + 3 couches ?

    Merci d'avance !

    Colbix
    Problème résolu ? N'oubliez pas le bouton ainsi que le "Pertinent". Ça fait du bien au forum.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Points : 82
    Points
    82
    Par défaut
    Salut,
    je doit dire que moi je me suis fortement inspiré du code que tu trouve en annexe d'un bouquin microsoft (Architecture entreprise application, un truc comme ca).
    Solution microsoft:

    http://nsk.codeplex.com/

    La solution est la premiere que tu propose. Sauf que toute les dependance a EF sont encapsulé dans une class datacontext (les dataSet) et les repository on leur propre class qui implement l'interface IQueryable et qui utilise le même datacontext, comme ca depuit ta busness layer tu acced a EF uniquement avec une dépendance a IQueryable (Linq),
    Donc apres tu fait du linq directement sur tes repository.
    Par contre pour les jointure c'est un peu casse pied, a cause du datacontext qui doit etre partagé, pour cela j'ai fait une class proxy pour acceder a tous mes repository, qui les ininitalise avec le meme datacontext.

    Ma solution :
    http://dddcms.codeplex.com/SourceCon...set/view/8478#

  3. #3
    Membre habitué Avatar de Colbix
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    266
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 266
    Points : 150
    Points
    150
    Par défaut
    Salut,

    Merci pour ta réponse et tes liens. Je vais donc créer un DAL principale et des repositories séparées.

    A+

    Colbix
    Problème résolu ? N'oubliez pas le bouton ainsi que le "Pertinent". Ça fait du bien au forum.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Debutant(e)][eclipse] Comment organiser ses projets ?
    Par Javanaute dans le forum Eclipse Java
    Réponses: 9
    Dernier message: 09/04/2004, 10h07
  2. [C#] Organisation PlaceHolder
    Par Johan31 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 26/01/2004, 14h20
  3. [Packages] Problème d'organisation
    Par lolo... dans le forum JBuilder
    Réponses: 5
    Dernier message: 22/04/2003, 13h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo