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

Entity Framework Discussion :

multi base de données entity framework


Sujet :

Entity Framework

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 110
    Par défaut multi base de données entity framework
    Bonjour à tous,

    nous sommes actuellement en train de prévoir la migration de certaines de nos applications sous .Net, ASP.NET étant la technologie retenue.

    En ce qui concerne l'accès aux données, Entity Framework a l'air séduisant mais je me pose une question tout de même concernant notre structure.

    Actuellement nous avons 1 base de données propre à chaque pays (3 pour le moment). Le schémas de ces bases est identique mais il peut devenir spécifique pour un ou plusieurs pays selon les besoins.

    Comment implémenter plusieurs bases de données au sein d'une même application avec la technologie Entity Framework ?

    Le choix se fera, comme actuellement, sur la page de démarrage de l'application, mais comment prévoir sur les autres pages si des demandes spécifiques sont faites sur une base ?

    Dans l'attente d'une réponse,

    Cdt,

  2. #2
    Invité
    Invité(e)
    Par défaut
    Entity Framework est un ORM (Object Relational Mapping) et par définition il permet de mapper des classes avec des objets de ta base de données (Tables, Vues, Procédures stockées etc). Le modèle EF est étroitement lié au schéma de ta base de données.

    Citation Envoyé par Ornitho76 Voir le message
    Actuellement nous avons 1 base de données propre à chaque pays (3 pour le moment). Le schémas de ces bases est identique mais il peut devenir spécifique pour un ou plusieurs pays selon les besoins.

    Comment implémenter plusieurs bases de données au sein d'une même application avec la technologie Entity Framework ?
    Tu peux créer plusieurs modèles EF par base de données et les charger manuellement suivant le pays par le code en utilisant la propriété de type string Metadata de la classe EntityConnectionStringBuilder. Là n'est pas le problème. Le véritbale problème reste au niveau de la logique métier, vu qu'il existera sûrement des objets qui seront utilisés par un pays et non pas d'autres et cela peut vite devenir difficile à maintenir.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 110
    Par défaut
    Merci pour cette réponse.

    C'est vrai que cela risque de devenir très vite difficile à maintenir en fonction des spécifications de chaque pays.
    Si le choix d'entity framework n'est pas la meilleur solution, qu'elle serait-t-elle dans ce cas ? Quelle(s) technologie(s) choisir afin de faciliter le développement et la maintenance ainsi que l'évolution de nos applications ?

  4. #4
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    EF ou pas EF, comme le dis h2s84, c'est la logique métier qu'il y a derrière qui rendra ton application complexe et/ou difficilement maintenable.

    Si tu ne peux pas assurer la cohérence entre les pays (et donc les bases), il n'y a pas de solution miracle, la technologie est secondaire (et au passage, EF répondrait sans doute plutôt bien à ta problématique malgré tout).

    Le "mieux" serait de pouvoir garantir un schéma identique en fonction des pays.
    Si ce sont des spécificités du style "il me faut une table de plus pour ce pays", ce n'est pas bien méchant, tu auras juste à sécuriser avec par exemple un pattern stratégie que les pays standard ne tenteront pas d'utiliser ces données.

    En revanche, si les relations entre les tables changent, là ça devient complexe, et il serait sans doute préférable de ne pas essayer de faire rentrer au chausse-pied dans ton application, mais privilégier des "business logic" différents dans ton application, afin de ne pas impacter le reste, surtout si le nombre de pays a vocation à croître rapidement.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/02/2012, 20h46
  2. @PersistenceContext pour du multi base de données
    Par chatis dans le forum Java EE
    Réponses: 6
    Dernier message: 04/11/2011, 01h02
  3. select et insert multi base de données
    Par calvirita dans le forum Langage SQL
    Réponses: 7
    Dernier message: 09/04/2009, 17h19
  4. Réponses: 1
    Dernier message: 10/12/2008, 19h22
  5. Requêtes multi bases de données
    Par clb01 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 11/09/2007, 12h25

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