7

当社では、さまざまなプロジェクトで複数のデータベース システム (MySQL、MSSQL、PL/SQL、SQlite、SQLCe) と連携しています。このため、どのデータベースが遅れているかを気にせずに各データベースに接続できる優れたインターフェイスにすべてを配置するライブラリを開発しました。しかし、このライブラリは常に、すべてのデータベースをクライアント コンピューターにインストールする必要がありました。これは、.Net がそれを主張したためです (参照のため)。そのため、MEF を使用して、アプリケーションが起動時に適切なプラグインのみをロードするデータベース プラグインを作成し、ホスト システムに他のデータベース システムをインストールする必要はありません。

とにかく、それぞれのデータベースの違いのために、私たちはまだ苦労しています。目的のデータベースで必要なテーブルとデータが利用できない場合にそれらを自動的に生成するプロシージャが必要だとしましょう。または、異なるデータベースが異なるデータ型を使用している場合。状況は非常に複雑になってきており、今のところ、MySQL、SQLite、および PL/SQL を処理できないように見える LINQ2SQL も使用することに関心があります。

私の質問:

このタスクを引き継ぐ無料/oss C# ライブラリはありますか? どのデータベースが遅れているかを考えずに、データベースを完全に制御できる場所はありますか?

4

3 に答える 3

4

成熟したORMライブラリならどれでも機能します

このサイトをチェックして、一般的な ORM ライブラリの機能とパフォーマンスの比較を確認してください

于 2013-03-20T07:38:02.937 に答える
0

Entity Frameworkは必要なすべてを行います。このフレームワークには、多数のデータベース エンジンのプロバイダーがあり、モデルに応じてアプリケーションのデータベースを調整できる移行メカニズムもあります。

于 2013-03-20T07:31:17.337 に答える
0

NHibernate が私の選択です。Castle ActiveRecord レイヤーを介してアクセスすると、より使いやすくなります。

于 2013-03-20T07:41:27.457 に答える