当社では、さまざまなプロジェクトで複数のデータベース システム (MySQL、MSSQL、PL/SQL、SQlite、SQLCe) と連携しています。このため、どのデータベースが遅れているかを気にせずに各データベースに接続できる優れたインターフェイスにすべてを配置するライブラリを開発しました。しかし、このライブラリは常に、すべてのデータベースをクライアント コンピューターにインストールする必要がありました。これは、.Net がそれを主張したためです (参照のため)。そのため、MEF を使用して、アプリケーションが起動時に適切なプラグインのみをロードするデータベース プラグインを作成し、ホスト システムに他のデータベース システムをインストールする必要はありません。
とにかく、それぞれのデータベースの違いのために、私たちはまだ苦労しています。目的のデータベースで必要なテーブルとデータが利用できない場合にそれらを自動的に生成するプロシージャが必要だとしましょう。または、異なるデータベースが異なるデータ型を使用している場合。状況は非常に複雑になってきており、今のところ、MySQL、SQLite、および PL/SQL を処理できないように見える LINQ2SQL も使用することに関心があります。
私の質問:
このタスクを引き継ぐ無料/oss C# ライブラリはありますか? どのデータベースが遅れているかを考えずに、データベースを完全に制御できる場所はありますか?