2009-05-05 8 views
0

は、私はかなり初心者だと私はので、私はいくつかのブートストラップを必要とするいくつかの大学の記事を書くために、この問題を掘り下げる必要があります。ここでは、そこLINQの

私はNHibernateのは、データベースにマッピングするドメインモデルに(L2Sと比較して)はるかに柔軟性を提供することをお読みください。私は何を探求すればよいかいくつかのヒントを書き留めていただけますか?

答えて

0

一つはL2Sは非常に大きなDBMLファイル内のオブジェクトを作成することで、「あなたのためにそれをしない」ということです。部分クラスを作成することでオブジェクトを操作できますが、dbmlファイルを変更しようとすると、L2Sは再生成時に変更を上書きするか、手動で変更を手動で実装する必要があるため、 。

だから、そのひどいアイデアはDBMLを変更するので、あなたは一種の立ち往生しているが、そのため、あなたのオブジェクトのプロパティに名前を付けるの面で何ができるかには限界があります。古典的な例は、データベースにintとして格納されるenumを使用する場合です。 UserTypeは、UserTypeという名前のintカラムとして格納するだけの、あなたのアプリケーションの列挙型であるとしましょう。それは素晴らしいことですが、DBMLファイルを作成するとき以外は、int型としてマッピングされたUserTypeを取得します...しかし、UserType型のプロパティをUserType型に戻すには、DBMLをハックするか、あなたのORMツールに一致するあなたのデータベース...いずれも良いオプションです。 NHibernateは一方

はあなたが物事をセットアップする方法の面でかなり多くの柔軟性を与えて、オブジェクトとデータベースの間だけでXMLベースのマッピングです。見て

別のものは、多対多の関係およびここで参照されているテーブルあたりのサブクラス/テーブル・クラスごとのマッピングです:

http://nhibernate.info/doc/nh/en/index.html

私は信じていませんL2Sはテーブルごとにサブクラスの関係を処理できます。このことができます

希望、

-Max

0

は、具体的には、おそらくLINQ SQLに多くの関係に多くのマッピングを持っている限界を見たいと思うでしょう。これは、2つの製品間のマッピングの大きな違いです。考慮すべき