2009-07-24 7 views
0

Comment puis-je résumer ma base de données à partir de mon application afin qu'elle ne soit pas consciente du type de base de données? Je dois concevoir une application .Net 3.5 WPF qui doit prendre en charge SQL Server ou Visual FoxPro en tant que référentiel de données.Abstraction de base de données - quelles sont les options?

Mes objectifs de conception sont à:

  1. font le type de référentiel de données invisible pour écrire du code dans l'accès aux données couche
  2. rendent aussi rapide et indolore que possible pour basculer entre SQL et FoxPro
  3. permettent une utilisation à la fois ANSI SQL et les procédures stockées à partir de la courbe d'apprentissage DAL
  4. doit être minime pour les autres développeurs de rejoindre le projet

Ce sera une application WPF, probablement en utilisant CSLA.

J'ai envisagé d'utiliser un type d'ORM mais je n'ai aucune expérience de ce type de technologie.

+0

Il n'y a pas de question ici .... –

+0

Ma question est quelle est la meilleure façon d'y parvenir? Je pourrais utiliser une sorte d'interface de sorte que tout ce que je vois est un IConnection ou et ICommand au lieu d'un SqlConnection ou un ODBCConnection. Je pourrais utiliser une sorte d'ORM. Je pourrais écrire tout mon code DAL deux fois, une fois pour Fox et une fois pour SQL Server! – Steve

Répondre

1

De nombreux ORM sont agnostiques de type DataBase, bien que l'exigence FoxPro puisse restreindre vos choix ou exiger que vous écriviez votre propre fournisseur ou adaptateur. Si vous souhaitez que votre application puisse fonctionner avec plusieurs types de base de données, par exemple via la configuration, vous devez également veiller à ce que vos schémas dans chaque base de données soient compatibles et ne dépendent pas des fonctionnalités non implémentées dans l'une des bases de données ou dans l'ORM que vous choisissez.

L'ORM Je connais très bien LLBLGen Pro qui prend en charge 5 ou 6 bases de données principales, mais FoxPro n'est pas officiellement pris en charge. Un client a fourni un adaptateur FoxPro à un moment donné. Je ne sais pas si cela a été maintenu.

Questions connexes