2009-05-13 1 views
1

私たちは私たちのプロジェクトで私たち自身のDALを使用してきました。そして、渡された2つのプロジェクトでこれが問題を引き起こしています。このため、私はSubSonicやNHibernateを勉強したいと思っています。 SubSonicやNHibernateを勉強するほうがいいですか?利点/欠点は何ですか?私がここで関連する質問から読んだことから、NHibernateはSubSonicに比べてより複雑ですので、私は後者から始めたいと思います。NHibernateまたはVice Versaより前にSubSonicを学んでください。

答えて

1

私は亜音速について多くを知らないが、私は最近、NHibernateのとツーリングまでの作業に取り、(実際にそこにおそらく唯一の1)このbookを見つけ

6
非常に便利な

亜音速がNHibernateはより大幅に容易になり、あなたはすぐにそれを使って作業を始めることができます(少数のスクリーンキャストと作業が完了しています)。 NHibernateでは、XML設定、セッション処理などのいくつかの作業が必要です。したがって、ORMを初めて使う方は、まずSubSonicを学び、NHibernateを掘り下げてみてください。個人的に私は小さなプロジェクトのためにあなたも幸せにSubSonicで終わることができると思います:)

+0

この非常に有益なおかげです。 – jfs

1

NHibernateはもっと複雑ですが、その複雑さはより大きな柔軟性をもたらします。亜音速は素晴らしいですが、それは非常に多くのオープンソースプロジェクトであり、現在安定していますが、NHibernateの背後にあるアクティブな開発コミュニティはありません。

知っておくべきもう1つのことは、亜音速が実際にあなたのためにたくさんのものを生成する一種の「コードジェネレータ」です。 NHibernateはオブジェクトをあなたのデータベースにマップするという点で文字通りの意味でのORMです。コード生成プログラムを使用してマッピングを生成することはできますが、ORMについては基本的に異なる考え方です。

個人的には、亜音速で見ると、必要以上のものがあると思いますが、もっと複雑なオブジェクトの問題に遭遇しているのであれば、 NHibernateは学習価値があります。

+0

私は今NHibernateに傾いていると思う。 – jfs

+1

"Subsonicは素晴らしいですが、それは非常にオープンソースプロジェクトだということも承知しておいてください" NHibernateもオープンソースです: フリー/オープンソース - NHibernateはLGPL(Lesser GNU Public License)の下でライセンスされています ソース:https ://www.hibernate.org/343.html –

1

答えはさまざまな要因によって異なります。あなたがnHibernateを学ぶなら、あなたは学習曲線の多くの扉を開いていますが、彼らはすべて恩返しします。 Sub Sonicはスピードアップを図りますが、コード生成に基づいています。つまり、境界があることを意味します。 nHibernateでは、独自のマッピングを定義します。 Fluent InterfaceのnHibernateマッピングでは、オブジェクトをマッピングする方がはるかに簡単で、より簡単で高速です。非常にアクティブなユーザーグループがありますlink text

さらに、完全な柔軟なマッピングがあります。 nHibernateは少し始めるのが難しいかもしれませんが、それは完全に学習価値があります。私自身は、nHibernateを使って私のクライアントのための2つの専門プロジェクトを書いています。

2

サブソニックはActive Record ORMです。それがあなたが探しているものなら、それをCastleのような他のアクティブなレコードのORMと比較するべきです。城はnHibernateの上に構築されているため、チームは必要に応じてフル機能セットに拡張できます。この時点であなたのリンゴをリンゴと比較し、どのリンゴで始めるのかは関係ありません。

Active RecordスタイルのORMを探していない場合は、Fluid nHivernateから始めて学習曲線を少し下げてみてください。

+0

明記していただきありがとうございます。 – jfs

+1

SubsonicはSimple Repositoryモデルもサポートするようになりました。 –

関連する問題