私は3つのプロジェクトを持つasp.net mvcソリューションを持っています
- UI ASP.NET MVC
- POCO 私のドメイン POCO オブジェクト
- エンティティ フレームワークと t4 を使用してコンテキストと POCO クラスを生成するリポジトリ
UI プロジェクトで POCO クラスではなく ViewModel を使用する必要があります。
UI と For Repository のスキャフォールディングを個別に行う必要があります(リポジトリのスキャフォールディングから始めて、いくつかのコードをカスタマイズしてから、uicontrollers ビューのビューモデルをスキャフォールディングします)。
私は次のようにリポジトリプロジェクトでリポジトリスキャフォールディングを行います: scaffold Repository -ModelType POCO.User -DbContextType Context これは魅力のように機能しています
しかし、コントローラーのスキャフォールディングを使用する場合のデフォルトの mvcscaffolding テンプレート: scaffold Controller -ModelType POCO.User -ControllerName UsersController -DbContextType Repository.Context -Repository
- ユーザーが既にコンテキスト内にいることが検出されるため、スキップされます (これは良いことです)。
- モデルとして POCO.User を使用して wiews をスキャフォールディングします (それは私が望むものではありません。ViewModel クラスを生成して使用したいのです)。
- リポジトリを生成します(リポジトリプロジェクトに既にリポジトリがあるため、これも良くありません)
- 作成されたリポジトリでコントローラーをスキャフォールディングし、POCOをビューに送信します(あまり良くありません)
だから私はこの足場のようなことをしたい Controller -ModelType POCO.User -ControllerName UsersController -DbContextType Repository.Context -RepositoryType Repository.UserRepository -GenerateViewModel
これは、リポジトリの作成をスキップしますが、コントローラーで使用します。これは、poco から ViewModel を生成し、たとえば automapper を使用して mappion を作成し、ビューで viewmodel を使用します。
どこから始めればよいかについてのヘルプは高く評価されます。ありがとう