2

私は現在、Oracle データベース バックエンドを持つ ASP.NET MVC アプリケーションの新しいバージョンに取り組んでいます。開発を始めたとき、ADO.NET コマンドを使用して Oracle に接続していることに驚きました。別の開発者と話をしたところ、彼らは昨年 Entity Framework への切り替えを試みたものの、フレームワークに多くのパフォーマンスの問題があり、それらの問題を二度と繰り返したくないことがわかりました。

私は他のオプションを理解しようとしています:

  1. ADO.NET を引き続き使用し、データベース呼び出しをカプセル化するラッパー クラスを構築します。基本的に、Enterprise Library DAAB のカスタム ライト バージョンです。
  2. エンタープライズ ライブラリ DAAB を使用する
  3. NHibernate を使用する
  4. 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 を参照してください。誰でもこのオプションの経験がありますか?

4

4 に答える 4

3

私はまだ .NET 4.5 で NHibernate 3.1 を使用しています。それはうまくいきます。私のプロジェクトは、NHibernate の管理に問題なく 300kloc に成長しました。NHibernate が .NET 4.5 で実行できないことが必要でない限り、NHibernate に問題はないと思います。

ただし、NHibernate は複雑であるため、チームに NHibernate/Hibernate の経験がある人がいることが望ましいです。彼は NHibernate を使用する際に他の多くの人を助けるでしょう。

于 2013-10-29T14:12:36.897 に答える
1

私は現在、 DotConnect for Oracleを介して Oracle 11g で Entity Framework を使用するプロジェクトに取り組んでいます。

Visual Studio との統合、およびデータベースに変更が加えられたときにモデルを構築および再構築するために使用するEntity Developerと呼ばれるスタンドアロンの ORM ツールがあります。

于 2013-10-29T14:26:56.503 に答える