MVCパターンでは、モデルに属するもの、具体的にはMVC3のModelsフォルダの内容とリポジトリやオブジェクトの関係を明確にしたいと思います。MVC - モデル、オブジェクト、リポジトリの違い
- 自分のアプリケーション内のすべてのコアオブジェクトに関する情報を保持している「オブジェクト」と呼ばれるプロジェクト:
は今のところ、私の現在のMVC3ソリューションでは、私が4つのプロジェクトを持っています。
- データコンテキストに関する情報情報と、各オブジェクト(MVC3足場を使用して作成)のリポジトリを保持するプロジェクト
- Webプロジェクトは、コントローラ、ビュー、およびこの質問 - モデル
- Aユニットテストプロジェクト
私は本当にについての説明を取得したいと思い、何がWebプロジェクトのモデルフォルダに何が起こるのか対オブジェクトのプロジェクトに行くべきかとの間の差であります。今は、「View Models」と呼ばれるものを保持するためにModelsフォルダのみを使用しています。これは通常、コアオブジェクトの組み合わせを含んでいます。このフォルダ内のファイルには、モデルの内容を定義する定義のみが含まれているか、コントローラが呼び出すことができる他のコードが含まれている必要がありますか?
コントローラとリポジトリの両方をかなりよく理解していると思いますが、特定のコードがどちらか一方になるかどうか混乱することがあります。コントローラーに絶対に入るべきではないものの、代わりにリポジトリーまたはモデルのどちらかに入るべきであるかについての特定のガイドラインや制限事項はありますか?
いつものように。
私は自分のビューモデルをViewModelsフォルダツリーに入れ、Entity Frameworkによって生成されたモデルをモデルフォルダツリーに入れました。私は他の人には他のアプローチがあると思う。概念的には、EFを使用して、コントローラがDBコンテキストを処理し、 'context.whatever.Add(myThing)'を呼び出し、 'context.SwhichChanges()'を呼び出すという習慣を得ました。方法。 – itsmatt