0

私はMVC 3でマーケットプレイスを開発するプロジェクトを持っており、私自身がASP.net/MVCからMVCを学んでいます

データベース CRUD 機能の使用方法を学んだチュートリアルとサンプルでは、​​モデルでプロパティを定義し、モデル エンティティを作成することで、EF を使用して簡単に実行できます。

私は最近、プロジェクトのコーディングのためにプログラマーを雇いました。彼は、データモデルを定義して Web フォームで行ったように、SQL ステートメントを記述してデータベースの CRUD 機能を実現する方法を提案しました。彼は、MVCMusicStore で所定の方法を使用すると、後で問題が発生する可能性があると述べました。たとえば、他のプログラマーが Model プロパティを変更すると、データベースが更新され、問題が発生する可能性があります。

MVC を使用したデータベース インタラクションの大規模プロジェクトでのベスト プラクティスに関する考えがありません。

4

3 に答える 3

1

ASP.NET MVC は Entity Framework とは関係ありません。Inded MVC は、使用しているデータ アクセス方法を気にしません。MVC は Web アプリを開発するためのフレームワークです。データアクセス方式は問いません。Entity Framework / LinqToSQL / NHinernate/ADO.NET などを利用できます。

そこにあるサンプル プロジェクトは、通常、ビューでモデル クラス (ドメイン モデル) を使用します。しかし、プロジェクトのコードを書き始めると、モデルをビューで使用することから分離し、これらのビューに対して個別の POCO クラスを作成する必要があることがわかります。これを ViewModel と呼びます。これらの ViewModel をその間の Domain モデルにマップします。これにより、柔軟性が向上します。ただし、すべてのモデルに ViewModel が必要なわけではないことに注意してください。必要な場合のみ作成してください。

リポジトリパターンを調べます。そこにデータ アクセス メソッドを用意します。これらのデータ アクセス メソッドの実装では、任意のデータ アクセス メソッド (LINQ / EF など) を使用できます。EF を使用する利点は、自分で多くのコードを記述する必要がないことです。

于 2012-08-27T02:13:27.703 に答える
0

私はEFコードファースト機能が好きです。システムのさまざまな部分でチームが作業している場合、これは非常に優れた機能です。毎回すべてのデータベースを削除して再作成する必要はありません。EF初期化子の詳細については、次の記事を参照してください:http: //www.codeguru.com/csharp/article.php/c19999/Understanding-Database-Initializers-in-Entity-Framework-Code-First.htm

于 2012-08-27T01:54:08.517 に答える
0

まず、EntityFrameworkCodeを調べる必要があります。EntityFrameworkを使用した最初のコードに関するScottGuによるこのブログ投稿を確認してください:http ://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx

コードは最初に、データベースを完全にやり直すことなくモデルの変更をサポートします。

于 2012-08-27T02:02:47.077 に答える