我正在使用 MVC 3 和 Entity Framework 4.1 开发一个站点。我是使用实体框架进行 MVC 3 开发的新手,因此希望在一些设计决策方面有所帮助。我的网站只有大约 15 个用户可以访问的页面。而不是每个页面都有控制器 - 我将只有一个控制器类 - (但每个页面都有模型)。在控制器类中,我会将每个页面的方法保存在区域中,以便它们易于扩展。因此,例如,我将在具有 RedirectToAction 主页的 SiteController 中有一个 LogOn 方法 - 而 Hompage() 方法将存在于主页区域的我的 SiteController 中。
我已经有一个同事设计的数据库(数据库中有大约 12 个左右的表)-我一直在研究 Entity Framework 如何从中创建代码-但是建议将此代码保存在 DAL 文件夹中吗?每个页面还有我自己的模型吗?例如 - 我有一个将保存在数据库中的文件名。在我的主页上,我想显示 FileName - 在我的主页模型上有一个字符串 FileName,然后在 HomePage() 视图方法中,model.FileName 是从 db.context 设置的(从 db 获取文件名)。
那么最好在我的 SiteController 的实例化点实例化所有数据库上下文,还是只在需要它们的方法中实例化它们?即 - 如果主页视图需要表 1 和表 2,那么在 Hompage() 方法中新建它们,如果另一个视图方法需要来自表 3/4 的数据或必须将数据保存到表 3/4,那么在该方法开始时新建它们?