w3d*_*dev 7 asp.net-mvc entity-framework domain-model viewmodel asp.net-mvc-3
我在最新的ASP.NET MVC 3项目中使用实体框架.由于它是DB优先,实体框架生成数据库模型.在我的服务(业务)层I Scaffold(MvcScaffolding)中生成服务方法,视图和控制器.脚手架还会生成域模型.将这些模型绑定到视图时,我使用视图模型.
简而言之,我最终使用了三种类型的模型.这个可以吗?视图模型保存在表示层中,域模型保存在业务层中,数据模型保存在存储库层中.
请让我知道你的想法.
这听起来不错,而且确实有几个好处。
您可以从头开始重新创建数据库模型,而不影响域模型,当然除了它们的映射方式之外。有些人会认为这两者可以合并为一,但这很大程度上取决于您的设置。
单独的视图模型将允许您更自由地更改和创建新的视图模型以适合您的视图。它还有助于防止延迟加载代理等。
许多人还会有一组 Dto 对象。这些作为一组用于缓存的对象非常有用,如果您有多个 UI(例如 Windows 服务),它们也很有用。
Automapper非常受欢迎,可以减轻需要映射如此多模型的痛苦。
| 归档时间: |
|
| 查看次数: |
2352 次 |
| 最近记录: |