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