質問

NHibernate 用のエンティティ クラス、hbm ファイル、SQL スクリプトを生成するための最適なツールは何ですか。

以下のリストは、 http://www.hibernate.org/365.html, 、なぜどれが最高ですか?

  • Moregen 既存の Visual Studio プロジェクトにマージできる、無料のオープン ソース (GPL) O/R ジェネレーター。生成されたクラスへの変更もマージします。
  • NConstruct Lite NHibernate O/R マッピング ソース コードを生成するための無料ツール。さまざまなデータベースのサポート (Microsoft SQL Server、Oracle、Access)。
  • GENNIT NHibernate コード ジェネレーター 無料/商用 WYSIWYG オンライン UML デザイナーを使用した NHibernate コードの Web 2.0 コード生成。
  • NHibernate テンプレートを備えた GenWise Studio 商用製品。既存のデータベースをインポートし、ファクトリを含むすべての XML とクラスを生成します。NHibernate BO-Layer 用の asp.net Web アプリケーションを自動的に生成することもできます。
  • HQL アナライザーと hbm.xml GUI エディター
  • Mats Helander による ObjectMapper は、NHibernate をサポートするマッピング GUI です
  • MyGeneration は、テンプレートベースのコード ジェネレーター GUI です。そのテンプレート ライブラリには、データベースからマッピング ファイルとクラスを生成するためのテンプレートが含まれています。
  • AndroMDA は、モデル駆動アーキテクチャ (MDA) を使用して UML モデルを配置可能なコンポーネントに変換するオープンソースのコード生成フレームワークです。NHibernate を永続化フレームワークとして使用するデータ アクセス レイヤーの生成をサポートします。
  • NH 用の CodeSmith テンプレート
  • NHibernate Helper Kit は、クラスとマッピング ファイルを生成するための VS2005 アドインです。
  • NConstruct - Intelligent Software Factory 商用製品。簡単なウィザード手順を使用して、情報システムのすべての層の完全な .NET C# ソース コードを生成します。NHibernate に基づく O/R マッピング。WinForms と ASP.NET 2.0 の両方に対応。
役に立ちましたか?

解決

見るべきだと思います Fluent NHibernate その代わり。マッピングを生成すると、常に 80% マークに達しますが、希望どおりにするにはカスタマイズする必要があります。Fluent-NHibernate を使用すると、コンパイルセーフでリファクタリングに適した API を使用してエンティティをマップできます。

他のヒント

新しい 2.0 Beta 2 リリースが利用可能になり、多くの新機能と流暢な nhibernate、1 対多および多対多マッピングのサポートが含まれます。

http://www.codeplex.com/Wikipage?ProjectName=nmg

試してみることができます Mindscape NHibernate デザイナー これは Visual Studio 2010 にインストールされます。まだ試してないけど。

これを行うための商用ツールは次のとおりです。 ビジュアルNHibernate. 私は Visual NHibernate を作成する会社 Slyce Software で働いています。

アップデート: Visual NHibernate はオープンソース化されました。見る: 発表

最初に自問する必要があるのは、なぜ発電機が必要なのかということです。正直に言うと、私の経験では、hbm ファイルを作成することはまったく難しくありません。

そうは言っても、本当に hbm ファイルを書きたくない場合は、次のことを検討する必要があるかもしれません。 アクティブなレコード.

Fluent についてはいくつか聞いたことがありますが、実際に使ったことがないので何とも言えません。hbm ファイル用にインテリセンスを設定していますか?私は独自の XML ファイルを作成しているだけですが、それがあなたが探しているものではないことはわかっています。

テーブルを生成するために SQL スクリプトを探していますか?NHibernate の利点の 1 つは、柔軟なクエリ生成に基づいているため、すべてのオブジェクトに対して SP を作成する必要がないことです。

Devart の NHibernate Designer を見てください。 NHibernate のエンティティ開発者

注記:デバート・カンパニー.

NConstruct lite と codesmith の両方を試しました。VB で書かれた既存の asp.net プロジェクトの既存のデータベースからオブジェクト モデルを取得する必要がありました。これが私の経験です。

コードスミスの短所:

  • テーブル間の継承を検出しません
  • データベースビューをマップしません
  • 複雑な使用法

コードスミスのプロ:

  • C# と VB を生成します
  • PostgreSQL を含む多くの DB エンジンのサポート
  • Visual Studio の統合

NConstructの短所:

  • VB は生成されず、C# のみが生成されます
  • DB エンジンはほとんどなく、SQL Server、Oracle、MS-Access のみ

NConstructの長所:

  • ビューのマップ
  • 一部の継承を自動検出します (1-1 関係の場合)
  • 単純

私の場合、NConstruct が作業の約 60% をやってくれました。

はい、hbm ファイルの作成は非常に簡単です。

ただし、大規模な DB がある場合、これは非常に面倒です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top