2011-12-26 13 views
0

ORM を使用してMVCを使用して開発する場合、ORMが自分のDBに変更を加えるという考えはありません。 私のアプリケーションはデータ駆動型アプリケーションであり、DBは私が作成した最初のものです。 モデルとDBの両方でデータスキームを維持するためのオーバーヘッドではありませんか? どうすればそれを管理できますか? この種の作業方法に適したORMはありますか?ORMを使用して開発したASP.NET MVC

答えて

0

.NET 4 Entity Frameworkの場合、ツーリングは両方向に進みます。モデルからデータベースを生成し、データベースからモデルを生成する。これらの機能は、変更管理プロトコルを実装する際の柔軟性を提供します。私はNHibernateでどんなオプションが利用できるのか分かりません。

Entity Frameworkの参照:2の

http://msdn.microsoft.com/en-us/library/bb386876.aspx

http://msdn.microsoft.com/en-us/library/bb399249.aspx

http://www.simple-talk.com/dotnet/.net-framework/entity-framework-4460---learn-to-create-databases-from-the-model/

A StackOverflowの比較:

Deciding between NHibernate vs Entity Framework?

1

私はORMは、データベース構造の変更を加える必要はありません、私のDB

ORMの変更を行いますという考えを好みません。既存のデータベースを使用している場合は、自動変更を必要とせずにそのまま使用することができます。

モデルとDBの両方でデータスキームを維持するオーバーヘッドはありませんか?

どのようにデータをMVCに表示しますか?データベースのデータを表すクラスを使用しますか?はいの場合、ORMが存在する理由があります。 ORMは、リレーショナル・データをデータベースからクラスにマップします。このリレーショナル・データは、データベースにロードされ、永続化されます(=データベース・アクセスおよびSQLを処理する必要はありません)。オブジェクト指向の厳密に型付けされたアプローチを使用する場合、ORMはオーバーヘッドにはなりません。

このようなアプローチを使用しない場合は、MVCを使用する必要はありません。 SQLデータソースまたはASP.NETの動的データでASP.NETを使用するだけです。

この種の作業方法に適したORMはありますか?

特別な方法はありません。

ほとんどすべてのORMには、基本的なマッピングや既存のデータベースからのクラスも作成できるサポートツールや拡張機能があります。 EFでは、エンティティデータモデルをプロジェクトに追加するだけで、ウィザードではアプリケーションで必要なテーブルを選択します。

確かに最後の段落が簡略化されました。各ORMには学習曲線とその専門がありますので、それほど単純ではありません。

+0

どちらをお勧めしますか?私はActiveRecordを使用すると思った – uriz

関連する問題