使用EF Code First的MVC架构

时间:2014-07-23 14:24:23

标签: c# asp.net-mvc entity-framework design-patterns architecture

我试图了解如何将模型类/ MVC与EF CodeFirst中的数据库设计进行交互。

例如,考虑这个简单的架构:

MyApp:

1. WEB 
2. DATABASE 
3. ModelEntity

问题是:

谁应该在WEB UI中没有show table的情况下调用数据库?

ModelEntity或model / MVC?

在这种情况下是否有必要使用mapper?

2 个答案:

答案 0 :(得分:0)

您的控制器将成为您在web ui和模型之间的中间人,它们代表数据库中的表格。

通常情况下,您的网络用户界面将使用ViewModles,这可能与您的ModelEntity不一致,而AutoMapper之类的工具非常有帮助。

答案 1 :(得分:0)

这就是我通常将我分开的方式:

1)数据层:实体模型,EF映射器,EF上下文

2)域层:域模型,实体到域模型映射器,查询对象,查询处理程序,命令对象,命令处理程序,服务

3)应用程序层:查看模型,查看模型映射器的域,应用程序外观

4)UI层:控制器,剃刀视图,或者其他一些不适合应用层的视图模型