データベースを抽象化するC#ソースコードの例が必要です(最小限のコード変更でデータベース間を簡単に変更できます)。良質のサンプルサイトやチュートリアルを知っていますか?次のようにMicrosoft SQL Server、Oracle、MySQL、およびDB2のデータベース抽象化
特定のターゲット・データベースは、次のとおりです。
1のMicrosoft SQL Serverの
2.オラクル
3. MySQLの
3. DB2
私の特定の要件と問題が発生した次のとおりです。
1.データアクセスで使用されるクラスの抽象化。
2.ストアドプロシージャを呼び出す際にパラメータを使用する。 Microsoft SQL Serverでは@は問題ありません。他のデータベースは@をサポートしていません。
3.クエリの構文をあるデータベースから別のデータベースに変換する。ある種の「汎用」クエリを持っていて、それをターゲットデータベースにクエリを生成するいくつかのクラスを作成しますか?
4.データアクセス層に厳密に型指定されたデータセット。私は経験から、Visual StudioのTableAdapterとQueryウィザードがMySQLで失敗したことを覚えています。
あなたの専門知識と時間をありがとうございます。
+1 - このようなORMは、あなたが不公平な努力なしに得る可能性がある限り、あなたを得るでしょう。いくつかの厄介なクエリのために、カスタムコードを書く必要があるかもしれません - merdeが起こります。これらのコーナーケースでは、機能をデータベース依存層とデータベース非依存層に分割します。データベースに依存しないモジュールを、標準インタフェースと、データベースに依存するモジュールを接続するためのメカニズムで設定します。 – ConcernedOfTunbridgeWells
@Darius Kucinskas:多くの人がEntity Frameworkをうまく使っています。 EFに特有の問題はありましたか? –
Entity Frameworkは、Netフレームワークの特定のバージョンに結びついている大きな問題の1つです。私がNet framework 3.5 sp1とVisual Studio 2008に縛られているEF1を使用し始めたとしたら、多くのEF1煩わしさを修正するEF4に切り替えることはできません(そのうちの1つはPOCOサポートが不足しています)。 Net 4フレームワークに切り替えてVisual Studio 2010を購入する必要があります。しかし、LinqがEntitiesに素敵な機能であることを認めなければなりません。 –