MVC架构,EF Code优先

本文关键字:Code 优先 EF 架构 MVC | 更新日期: 2023-09-27 18:14:18

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

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

MyApp:

1. WEB 
2. DATABASE 
3. ModelEntity

问题是:

谁应该在WEB UI中调用没有显示表的数据库?

ModelEntity还是model/MVC?

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

MVC架构,EF Code优先

控制器将是web ui和模型之间的中间人,模型代表数据库中的表。

通常,你的web UI将使用viewmodules,这可能与你的ModelEntity不一致,这时像AutoMapper这样的工具就非常有用了。

我通常是这样分开的:

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

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

3)应用层:视图模型、域到视图模型映射器、应用程序facade 4) UI层:控制器,剃刀视图,也许还有其他一些不适合应用程序层的视图模型