Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Candidat au titre de Membre du Club
    Inscrit en
    juin 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations forums :
    Inscription : juin 2008
    Messages : 39
    Points : 10
    Points
    10

    Par défaut EntityFramework pour 4 SGBD.

    Bonjour à tous...

    Je vais commencer par planter le décors :

    Nous sommes éditeur de logiciels et développement une application qui doit pouvoir tourner sur 3 moteurs (MSSQL, MySQL et Oracle). Le client final choisit le moteur qu'il préfère puisque c'est lui qui en assurera la maintenance.

    Plus qu'une application, c'est une solution entière que nous proposons dont certains modules ne sont pas en .NET et exploite une couche d'accès aux données "maison".

    Depuis maintenant 2-3 ans, nous ajoutons à cette solution des modules .NET/C# et avons choisi EF. Nous utilisons le provider natif pour MSSQL et dotConnet DevArt pour les 2 autres.

    Pour adresser les 3 moteurs, un ancien collaborateur avait développé un outil capable d'extraire d'un EDMX le SSDL et de l'altérer partiellement pour recoller les morceaux. Ainsi, on a 1 CSDL/MSL commun et on ajoute juste en ressources de l'exe les SSDL ainsi extraites.

    Lorsque j'ai compris ça, je me suis d'abord dit que c'était un peu "artisanal" comme technique mais en googlant un peu j'ai cru comprendre que c'était la technique normale, cf. cet article et celui-ci.

    Ma question :

    Nous devons ajouter un 4ème moteur à la liste. Ce qui veut dire qu'avec cette technique il faut maintenir en permanence 4 EDMX (donc 4 bases de référence) et en plus mettre à jour l'outil d'extraction de SSDL pour ce nouveau SGBD. De plus, il semble que pour des problèmes de casse de nom de tables et de colonnes, nous ayons aussi besoin de faire un MSL spécifique...

    Bref, comme les posts que j'ai cité ci-dessus datent d'1 ou 2 ans je me dis que ça a peut être évolué.
    J'ai par exemple commencer à regarder Entity Developer de DevArt mais il ne semble pas possible d'associer plusieurs Storage à un Conceptual.

    Si vous avez des pistes je veux bien les suivre.

    Merci,

  2. #2
    Modérateur
    Avatar de h2s84
    Homme Profil pro Holty Samba SOW
    Développeur .NET
    Inscrit en
    mars 2007
    Messages
    3 022
    Détails du profil
    Informations personnelles :
    Nom : Homme Holty Samba SOW
    Âge : 29
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2007
    Messages : 3 022
    Points : 5 839
    Points
    5 839

    Par défaut

    Pour l'instant il n'est pas possible d'avoir un EDMX commun à tous les providers. Pourquoi ? c'est simple et tu l'as déjà évoqué dans ton poste, le SSDL (inclus dans l'EDMX) qui est lié au SGBDR et t'oblige à faire des workarounds pour arriver à faire marcher ton logiciel suivant le ssytème utilisé. Cependant, toujours avec EF, il y a une nouvelle approche appelée Code First qui permet d'éviter d'avoir un fichier EDMX (ce qui est le cas avec l'approche Model First ou Database First). Mais je ne pense pas que tous les providers, à part celui de SQL Server, prennent en compte cet nouvelle approche.

    Sinon une solution existe et qui n'utilise pas Entity Framework mais plutôt CodeFluent Entities. Actuellement nous l'utilisons chez l'un de nos clients qui a cette même problématique que toi à savoir avoir un logiciel qui pourra être utilisé pour différents types de bases de données.

    Nous avons un webinar de prévu le 8 Novembre 2012 de 18h à 19h (Heure Française) donc tu peux t'y inscrire c'est gratuit et en anglais.

    En attendant tu peux visionner nos deux webcasts (une première de 20mn pour une vue d'ensemble et une deuxième d'une heure pour les fonctionnalités approfondies). Il y a aussi plein de tutos sur notre chaîne youtube.

    Pour te permettre de tester l'outil tu peux télécharger une version personnelle, sans limite de fonctionnalités et gratuite ici.
    Consultant .Net chez SoftFluent
    Découvrir notre produit CodeFluent Entities

    Adhérer à l'association Fier d'être développeur
    Les FAQ sur les technologies .Net voir ici
    Les cours et tutos sur les technologies .Net voir ici
    Les critiques sur les livres parlant des technologies .Net voir ici
    Pensez à la balise [CODE]
    Pensez au tag si votre problème est résolu

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •