1

システムの典型的なストアド プロシージャは、約 20 個のパラメータを受け入れます。これらのストアド プロシージャをリファクタリングする機会もありません。私は基本的に、SP パラメータに対応するパブリック プロパティを使用して、これらの SP を (データベース プロバイダに依存しない) 「コマンド」オブジェクトにラップする独自のコード ジェネレータを作成することに頼りました。それは機能しますが、サードパーティが試行およびテストしたソリューションを好みます。

誰でも何かお勧めできますか?OleDB とストアド プロシージャをサポートするものは見つかりませんでした。

編集:SQL 6.5のため、OleDb接続が必要です(信じられないかもしれませんが)。ADO.NET は SQL 6.5 に接続できません。また、これは .NET 2.0 アプリケーションであるため、LinqToSql は役に立ちません。

Edit2: 私はすでに nHibernate と iBatis を試しました。どちらも私のニーズには合いません。前回 nHibernate を試したときは、SP が結果セットを返す必要がありました。それは私のSPには当てはまりません。どちらも手動でパラメーターを指定する必要があります。

4

3 に答える 3

5

私は3つのORMレイヤーの経験があります:

3 つすべてが無料で、OleDb 接続とストアド プロシージャをサポートしています。

Subsonic - これは、Web アプリケーション用に特別に構築されたものです。これは、Ruby On Rails が行うことの多くを模倣しています。彼らはちょうど移行を追加しました。Subsonic は 3 つの中で最も軽量です。Winforms で使用するのは少し難しいですが、私が思っているほど難しくはありません。コードを生成し、データベース設定を維持するための優れた UI ツールが付属しています。これは、異なるデータベースをサポートする唯一のものです。SQLite、SQL Server CE、および SQL Server で使用しました。

CSLA.NET - これは、新しい .NET テクノロジのほとんどすべてを処理できます。作成者が WCF、WPF、および Silverlight のサポートを追加したことは知っています。これは、エンタープライズ タイプのアプリで非常に手間のかかる作業が必要なときに使用するものです。無制限のオブジェクトの取り消し、コレクションを読み取り専用としてマークする機能、オブジェクトを好きな場所に移動して固定する機能など、多くの優れた機能があります。これは、JBoss が Java で行うことに最も近いものです。

Net Tiers - 私は大ファンではありませんが、これで十分です。CSLAよりは軽いですが、サブソニックよりは重いです。

NHibernateCastle Active Record、およびMicrosoft Enterprise Libraryについても言及したいと思います。しかし、私はこれらの経験があまりありません。

于 2008-09-23T00:05:17.553 に答える
0

私が聞いたところによると、ADO .NET Entitry フレームワークはストアド プロシージャをほとんどサポートしていません... LINQ2SQL を機能させることはできますが、ある種のプロキシ クラスが必要になる場合があります... NHibernate と IBatis が最善の策です...

于 2008-09-22T23:53:08.237 に答える
-1

代替案:

  1. LINQ to SQL
  2. ADO.NET エンティティ フレームワーク
  3. NHibernate
  4. あなたの選択 )
于 2008-09-22T23:49:51.880 に答える