ADO.NET, Linq to SQL, entity framework ? Que choisir? je m'y perds, besoin d'exp

Mgiv64 Messages postés 18 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 1 mars 2011 - 1 mars 2011 à 11:27
Mgiv64 Messages postés 18 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 1 mars 2011 - 1 mars 2011 à 15:28
Bonjour à tous,

Je développe occasionnellement en C# depuis quelques années.
Jusqu'à présent je n'avais pas beaucoup besoin d'avoir recours à des bases de données. Ou alors c'était des bases de données très simplistes (fichiers CSV, fichiers XML).

J'aimerais maintenant me lancer dans de plus gros projets. Cependant, j'ai beaucoup de difficulté à faire un choix technologique.

Lorsque je fais des recherches, je tombe sur du "ODBC", du "ADO.NET", sur du "Linq to sql" et aussi sur du "Entity Framework 4"... je vois passer des "dataset", des "datasources", des ".mdf", etc... et j'ai beaucoup de mal à m'y retrouver dans tout ça. Qu'est-ce qui est dépassé dans tout ça ? Qu'est-ce qui est le plus ergonomique dans ces méthodes ? A quoi correspondent tous ces termes ? Comment interagissent-ils entre eux ? Et en bref, Qu'est-ce qui est le mieux ?

Dans mon idéal, j'aimerais pouvoir faire abstraction, si possible, du type de base de données, c'est à dire pouvoir travailler identiquement (au niveau programmation), que ça soit avec du mSQL, du mysql ou du sqlite. Voire même pouvoir changer de techno de DB en cours de développement sans avoir trop de contrainte d'ajustement de code.

J'ai déjà développé une petite application de gestion de patients avec du MSQL et des DATASET (très facile à mettre en place), mais dès que je dois faire une requêtes un peu spécifique, j'ai tellement l'impression que Visual Studio fait "tout à ma place" que je ne sais pas comment m'y prendre, etc...

J'aimerais aussi travailler avec un SQLite, mais encore une fois, je trouve diverses façon de travailler (linq to sqlite, librairie officielle c# sqlite,)... j'aimerais la façon la plus universelle possible...

J'envisage d'acheter un bon livre pour faire de l'ordre dans mes idées, cependant là aussi je trouve du ADO.NET, du Linq To SQL, du Entity Framework.. vers quoi m'orienter ?

Help ! merci d'avance pour vos conseils et explications.

Pierre
A voir également:

3 réponses

billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
1 mars 2011 à 15:09
Bonjour,

Tout d'abord, sache que chacune de ces technologies a sa raison d'être et tout dépendra de ton besoin fonctionnel.

Au vue de ta contrainte (pouvoir faire abstraction du type de base de données), je ne pourrai que trop te conseiller l'utilisation d'une superbe librairie mise à disposition gratuitement par Microsoft: Enterprise Library.

Elle calque tout simplement ton besoin (grâce à la partie Data Access Application Block) et sera rendre le développement de l'accès aux données très aisé de ton côté. Le type de base de données (Oracle, MySql, SqlServer...) sera gérer au niveau de ton fichier de config.

Pour des aides sur le développement avec Enterprise Library, je te renvoie vers notre ami de tous les jours: data access application block.

Pour info, Enterprise Library fournit beaucoup d'autres blocs tout aussi indispensable les uns que les autres.

Bon développement,

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
0
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
1 mars 2011 à 15:11
Désolé, le lien google ne fonctionne pas: j'ai uniquement chercher "data access application block" sur google et tous les résultats t'intéresseront.

Bonne fin de journée,

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
0
Mgiv64 Messages postés 18 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 1 mars 2011
1 mars 2011 à 15:28
Bonjour Billou,

Merci de ta réponse, je vais donc me renseigner sur cette "Enterprise Library".

Je reste friands d'autres avis et/ou explications

Merci
0
Rejoignez-nous