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吗?
控制器将是web ui和模型之间的中间人,模型代表数据库中的表。
通常,你的web UI将使用viewmodules,这可能与你的ModelEntity不一致,这时像AutoMapper这样的工具就非常有用了。
我通常是这样分开的:
1)数据层:实体模型、EF映射、EF上下文
2)域层:域模型、实体到域模型映射器、查询对象、查询处理程序、命令对象、命令处理程序、服务
3)应用层:视图模型、域到视图模型映射器、应用程序facade 4) UI层:控制器,剃刀视图,也许还有其他一些不适合应用程序层的视图模型