1

私は ASP.NET Web フォームの開発者です。私のマネージャーは、将来のすべてのプロジェクトを ASP.NET MVC を使用して開発することを決定したばかりなので、すぐに学ぶことがたくさんあるようです。

すべてのデータ操作は、社内の DBA によって記述されたストアド プロシージャを介して処理され、EF を使用する予定です。以前、Web フォーム プロジェクトで EF を使用してこのシナリオを処理しましたが、問題ありませんでした。SP 結果の複合型を生成し、Web フォーム検証コントロールを使用して検証を処理しました。

私が読んでいる ASP.NET MVC 3 のチュートリアルとガイドでは、EF Code First を使用し、Data Annotations を使用して検証を処理しています。Database First ガイドをいくつか見ましたが、それらはストアド プロシージャの排他的使用に重点を置いておらず、あまり役に立ちませんでした。

私の主な懸念は、回避できるのであれば、サーバー側とクライアント側の検証ロジックを書きたくないということです。POCOクラスについても多くの議論が見られますが、それらがこのシナリオに適合するのか、それとも「コードファーストのもの」なのかはよくわかりません.

ASP.NET MVC 3 を使用して最初のプロジェクトを開始しようとしていますが、いくつか質問があります。

データ注釈を使用してクライアント側とサーバー側の検証を処理する方法はありますか? そうでない場合、最良の代替手段は何ですか?

この方法でEFを使用する場合、POCOクラスは有用/関連性がありますか?

誰かが私に良いチュートリアル/ガイドの方向性を示したり、アドバイスをくれたりできますか?

4

2 に答える 2

1

MVC で EF を使用する必要はありません。これは、最も一般的なシナリオです。EF を使用する場合は、EF (DbContext ではなく ObjectContext を使用) と DatabaseFirst アプローチを使用することで、おそらくより多くのメリットが得られます。データベース ファーストのアプローチでは、すべてのストアド プロシージャをデザイナーにドラッグ アンド ドロップし、ストアド プロシージャを使用してオブジェクト コンテキストを生成します。エンティティを扱っていないため、POCO は必要ありません。

Data Transfer オブジェクトが必要です。EF は、返された結果を生成します (ただし、EF が混乱し、それを支援する必要がある場合もあります)。クエリを呼び出すメソッドと、クエリに渡すパラメーターを生成します。

EF を使用しないことを選択した場合は、単純な古い ADO.NET を使用してデータ アクセス層を作成するか、Enterprise Framework Data Access Application Blocks のようなものを使用できます。

重要なことは、すべてのチュートリアルで EF を使用していますが、そうする必要はないということです。必要な技術は何でも使用できます。MVC はデータに依存しません。

于 2012-05-23T16:25:42.597 に答える
0

一般的に、データ注釈 + jquery.validate で十分です。そうでない場合は、DataAnnotations.Extensions を試すことができます。検証ロジックと POCO クラスを分離しておきたい場合は、FluentValidation が適しています。

チュートリアル:

 http://www.asp.net/mvc
 search mvcmusicstore  at codeplex.com
 search nerddinner at codeplex.com
于 2012-05-23T15:56:02.807 に答える