MVC3アプリケーションのViewModelとAutoMapperの設計方法でEFを使用しています。ViewModel CRUDページを含むASP.NET MVC3エンティティ
CRUDページを作成するより効率的な方法があれば、私が現在行っていることが分かります。
私の現在のプロセスが含まれます。
- を
- エンティティ を作成してコピーペースト経由のViewModelを作成し、その後を介してコントローラを作成し、コンテキストリスト
- にエンティティを追加
- 非必須フィールドを削除Visual Studio 2010コントローラウィザードページを作成します。
- 私は、Entity Frameworkを使用して、読み書き操作とビューを持つコントローラのテンプレートを選択します。
- 自分のモデルを自分のエンティティではなく、自分のViewModelにすることを選択しました。
- 適切なコンテキストを選択します。
return View(db.BlockedUserViewModels.ToList());
へ:
IList<BlockedUser> blockedUsers = db.BlockedUsers.ToList();
IList<BlockedUserViewModel> blockedUserVMs = AutoMapper.Mapper.Map<IList<BlockedUser>, IList<BlockedUserViewModel>>(blockedUsers);
return View(blockedUserVMs);
- 私は、各コントローラのCRUDオプションに同じ[オーソライズ]とロールの権限を追加する必要があります。
これは作業負荷が過剰であるようです。私はもっと良い解決策を望んでいる。 (私はPython/Djangoから、きれいな強力なCRUDページを作成するためのコードを1行必要としています)
良い点、私はこれを提供するパッケージを探している簡単な解決策を見落としました。これらのユーティリティメソッドをコンテキスト内に置くことは適切ですか?コントローラーについてのヒントをありがとう[Authorize]属性、残念ながら、それらは一貫していません。 – Valchris
これは実装によって異なります。私はエンティティでリポジトリパターンを使用してCRUD操作を管理し、サービスはリポジトリの周りのラッパーであり、エンティティを関連するビューモデルにマップします。 – shuniar
あなたの説明のチュートリアル/例を知っていますか?私はリポジトリ機能についての言及を読んだが、複雑さの追加された層の利点を完全に理解していない – Valchris