2009-05-07 1 views
9

MVCでは、ORMはモデルと同じですか、またはモデルを設計できる方法ですか?言い換えれば、「モデル」は、取得したデータをどのように取得するか気にしません。あるいは、「モデル」とは、フォームのコードのように、私のコードにもはやたくさんのSQL文がないことを意味しますか?他に何か?MVCでは、ORMがモデルを表していますか?

ありがとうございます。

答えて

8

いいえ、ORMは、モデルをデータベースにマップするもので、その逆もあります。

具体的には、Domain Model(問題のドメインのさまざまな要素)を表すようにコード内にモデルを作成し、それをデータベースにマッピングするようにORM(オブジェクトリレーショナルマッパー)を構成します。私。データベースに与えるモデルオブジェクトに基づいてデータベースを更新するSQL文を生成します。

実際にデザイナーでモデルクラスを生成するツール(LINQ to SQL)があるので、混乱を理解することができます。これは、NHibernateのような純粋なORMではなく、ORMプレーンな古いオブジェクトと、データベースのSQL文を自動的に生成するために(多くの場合はリフレクションと組み合わせて)使用するマッピング構成を提供します。

0

モデルはバックエンドデータストアテクノロジから可能な限り切り離す必要があります。 これは、データアクセスレイヤー、DTOなどの関係を説明するかなり良い記事だと思った。http://msdn.microsoft.com/en-us/magazine/dd263098.aspx

1

ORMを使用してMVCの実用的な実装を見たい場合は、 MS ASP.NET MVC、Nhibernateとリポジトリパターンに基づいているS#arp Architectureを見てください。

関連する問題