|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juin 2008 Messages : 31 ![]() |
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, |
|
|
00
|
|
|
#2 |
![]() ![]() |
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 FAQs 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
|
|
00
|
Copyright © 2000-2013 - www.developpez.com