代码之家  ›  专栏  ›  技术社区  ›  Beep beep

在ASP.NET中使用视图模型+数据模型。NET MVC支持类型化视图?

  •  4
  • Beep beep  · 技术社区  · 16 年前

    例如,如果我们有一个Employee对象:

    • ID
    • 姓氏

    然后,我们的员工视图可能会使用ViewEmployeeModel对象:

    4 回复  |  直到 16 年前
        1
  •  9
  •   Craig Stuntz    16 年前

    我几乎是按照惯例这样做的,因为:

    1. 它允许您先设计应用程序视图,而不是先设计数据库,这在与客户代表合作时很好。
    2. 视图通常具有比实体框架模型更“平坦”的对象图。LINQ使这些映射变得容易。
    3. 视图和数据模型可以更独立地发展。
    4. 与期望完全物化相关对象的实体模型相比,使用FK ID对平面视图模型进行建模绑定通常更容易。
    5. 您不必担心意外暴露“秘密”属性或将属性列入白名单以进行更新。
        2
  •  3
  •   andymeadows    16 年前

    没有评论的名声,但克雷格是对的。它是Model-ViewViewModel模式的变体。有一篇关于它的好文章可以在 Los Techies .

    文章还使用了 AutoMapper mgroves指出的代码,所以你应该能够一箭双雕。

        3
  •  1
  •   Matthew Groves    16 年前

    我认为这是一个相当明智的做法。有一件事可能会帮助你 AutoMapper .

        4
  •  1
  •   NikolaiDante    16 年前

    看起来很好,您的优势在于模型只包含视图所需的信息,而不包含大量讨厌的业务逻辑函数/值。