我正在使用Model First阅读使用Linq to Entities的MVC3本教程 http://msdn.microsoft.com/en-us/data/gg685489.aspx
文章引述
我们的控制器将使用BlogDataEntities为我们检索数据。 在更高级的应用程序中,您应该进一步分离逻辑 不会直接使用BlogDataEntities 控制器。
MVC应用程序中实体和Controller之间的这个其他层的一般结构是什么?目的是什么?
答案 0 :(得分:0)
我通常有一个私有的ViewModel(参见http://en.wikipedia.org/wiki/Model_View_ViewModel),它包含业务逻辑,可以从EF获取/保存,并且是视图绑定的内容。控制器没有做太多事情,只是实例化视图模型,并根据控制器操作,调用视图模型中的方法。
有些人可能会进一步分解并拥有一个完整的ViewModel,它没有逻辑,只有数据。具有所有逻辑的业务层,以及将数据从EF移动到ViewModel的能力,反之亦然。
答案 1 :(得分:0)
在文章“BlogDataEntities”中,不是某些特定实体类的名称(顾名思义),而是DbContext的名称。
我想这意味着你会尝试通过不实例化DbContext来隐藏你使用EF,但是通过使用像这样的存储库实现