Database management library

In our company, we work together with several database systems (MySQL, MSSQL, PL / SQL, SQlite and SQLCe) for various projects. Because of this, we have developed a library that turns everything into a nice interface where we can connect to each database without worrying about which database is behind. But this library always required each database to be installed on the client computer, because .Net insisted that (because of the links). Therefore, we used MEF to create database plugins, where the application loads only the corresponding plugin at startup, and we do not need any other database systems installed on the host system.

In any case, we are still struggling because of the differences in each database. Say we want to have procedures that automatically generate the required tables and data in the target database if they are not available. Or, if different databases use different data types. Everything is becoming very complicated, and at the moment we are also interested in using LINQ2SQL, which seems to be unable to handle MySQL, SQlite and PL / SQL.

My question is:

Is there a free / oss C # library that takes care of these tasks? Where can we have full control over our databases without thinking about which database is behind?

+6
source share
3 answers

Any mature ORM library gets the job done

Check this site to see a comparison of the features and performance of the popular ORM libraries.

+4
source

Entity Framework does everything you need. This structure has providers for several database engines, as well as a migration mechanism that can customize the database for your application depending on your model.

0
source

NHibernate would be my choice. It is easier to use if you access it through the ActiveRecord Castle layer.

0
source

All Articles