私は現在、Oracle データベース バックエンドを持つ ASP.NET MVC アプリケーションの新しいバージョンに取り組んでいます。開発を始めたとき、ADO.NET コマンドを使用して Oracle に接続していることに驚きました。別の開発者と話をしたところ、彼らは昨年 Entity Framework への切り替えを試みたものの、フレームワークに多くのパフォーマンスの問題があり、それらの問題を二度と繰り返したくないことがわかりました。
私は他のオプションを理解しようとしています:
- ADO.NET を引き続き使用し、データベース呼び出しをカプセル化するラッパー クラスを構築します。基本的に、Enterprise Library DAAB のカスタム ライト バージョンです。
- エンタープライズ ライブラリ DAAB を使用する
- NHibernate を使用する
- Entity Framework (パフォーマンスの問題のためオプションではありません)
それぞれのアプローチには欠点があります。Microsoft の OracleClient プロバイダーは .NET Framework のバージョン 4.0 で非推奨になっているため、Oracle の ODP.NET プロバイダーを使用することだけが理にかなっています。現在のバージョン (6.0) ではまだ Microsoft の OracleClient が使用されているため、これは Enterprise Library の問題です。OracleClient を ODP.NET への参照用に交換した人がいるようですが、大規模なグループではないようです。問題に。
NHibernate は ODP.NET を使用していますが、開発は減速しており、.NET 4.0 に基づいた更新バージョンはリリースされてから 3 年経っていますが、まだリリースされていません。新しい NHibernate の取り組みを開始するのは賢明ではないようです。
ラッパー クラスを作成すると、ODP.NET を使用できるようになりますが、かなりの作業になります。より良い解決策が存在する場合、ホイールの再作成に時間を費やすのは嫌いです.
現時点では、ADO.NET 用の軽いラッパーを作成するだけです。2013 年後半に他に有効なオプションはありますか? 問題が発生したときに単独で飛行しないように、会社によってサポートされているか、アクティブなコミュニティがあるオプションが必要です。
UPDATE Enterprise Library Contrib Project の Oracle ODP.NET Data Provider v6.0 を使用した Enterprise Library DAAB を参照してください。誰でもこのオプションの経験がありますか?