asp.net-mvc - ASP.NET MVC - View 模型、域模型和数据模型

标签 asp.net-mvc asp.net-mvc-3 entity-framework viewmodel domain-model

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center寻求指导。




9年前关闭。




我在我最新的 ASP.NET MVC 3 项目中使用 Entity Framework 。由于它是数据库优先, Entity Framework 生成数据库模型 .在我的服务(业务)层我用脚手架(MvcScaffolding)生成服务方法、 View 和 Controller 。脚手架还会生成 领域模型 .在将这些模型绑定(bind)到 View 时,我使用 查看模型 .

简而言之,我最终使用了三种类型的模型。这个可以吗? View 模型保存在表示层中,领域模型保存在业务层中,数据模型保存在存储库层中。

请让我知道你的想法。

最佳答案

这听起来不错,确实有几个好处。

  • 您可以从头开始重新创建数据库模型,而不会影响域模型,当然它们的映射方式除外。有些人会争辩说这两个可以合并为一个,但这在很大程度上取决于您的设置。
  • 单独的 View 模型将允许您更自由地更改和创建新的 View 模型以适应您的 View 。它也有帮助 preventing late loading proxies etc .

  • 许多人也会有一个 Dto 对象集。这些作为一组缓存对象很有用,如果您有多个 UI,也可以说是 Windows 服务。

    Automapper非常受欢迎,可以缓解有这么多模型要映射的痛苦。

    关于asp.net-mvc - ASP.NET MVC - View 模型、域模型和数据模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13469648/

    相关文章:

    asp.net-mvc-3 - MvcScaffold 没有正确创建我的相关下拉列表

    asp.net-mvc-3 - IIS7.5 上的 ASP.NET MVC 3 Intranet 站点 w Windows 身份验证提供 401.3 并且尝试登录时请求的文件授权失败

    entity-framework - EF4 Context.ApplyCurrentValues 不更新当前值

    entity-framework - ReferentialConstraint 中的依赖属性映射到一对一关系上存储生成的列错误

    asp.net-mvc - Html.EditorFor MVC4 中的子对象?

    asp.net-mvc - 如何使用 Ninject for DI 在 MVC 应用程序中使用 AsyncController?

    asp.net-mvc - 如何将 HttpRequest 转换为 HttpRequestBase 对象?

    asp.net-mvc - 我什么时候应该避免使用强类型 View 数据?

    asp.net-mvc - MVC 中的多个 OutputCache

    c# - 无法加载 WCF 服务中的相关实体