ASP.NET MVC プロジェクトのセットアップ方法について私が見つけたほとんどの (ほぼすべて?) 例は、コントローラーで直接データベース コンテキストにアクセスしています。
たとえば、次のようにします。
public class MoviesController : Controller
{
private MovieDBContext db = new MovieDBContext();
//
// GET: /Movies/
public ViewResult Index()
{
return View(db.Movies.ToList());
}
また、データベース内のテーブルにデータ ソースとして直接バインドできるコントロール (少なくとも aspx ビュー エンジンの場合) が多数あることも知っています。これにより、データが自動的に表示されます。
私にはこれは奇妙に感じられ、プレゼンテーション層とデータベースの間に何らかの分離が必要です。ビューで使用する前に、データベースからビュー モデルにデータをマップする、ある種のビジネス レイヤーやデータ レイヤー。それは私だけですか、それとも簡単に実行できるので、すべてこのような例ですか? 私が見逃している大きな利益はありますか?少し速いと思いますが、ビューと同じモデルをデータベースで使用するべきではないように感じます。最終的に、データベース モデルがビュー モデルから分離されている、より適切な例を見つけました。しかし、これは 100 のうちの 1 つの例です。
これについてどう思いますか?