【问题标题】:Data Annotations and MVC 4数据注释和 MVC 4
【发布时间】:2013-01-30 19:33:47
【问题描述】:

两年前我做过 MVC 2。我现在正在使用 MVC 4 并想确认一些事情。

1) 在 MVC 4 中,我们不需要创建 ModelMetadata 类来使用数据注释进行注释以进行数据验证。我们可以简单地注释模型类本身。

换句话说,如果我们使用 EDM 生成器为我们生成模型和相应的类,那么我们可能会创建一组具有相同名称的新部分类,并在这些部分类本身上使用数据注释属性。

我们不需要创建一个新类型的模型元数据类并用数据注释/属性装饰那个类,就像这里:http://www.asp.net/mvc/tutorials/older-versions/models-%28data%29/validation-with-the-data-annotation-validators-cs

2) 要使数据注释起作用,我们只需要引用 System.ComponentModel.DataAnnotations 而不是 Microsoft.Web.Mvc.DataAnnotations。

3) 我们不需要在 Global.asax 文件的 Application_Start 事件中实例化默认模型绑定器。

您能否确认我的理解是否正确?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4


    【解决方案1】:
    1. 我记得,在这方面,MVC 2 和 MVC 4 之间没有区别。您不必在 MVC 2 中使用 MetadataType,您可以使用部分类来生成模型。
    2. 我无法在 Microsoft.Web.Mvc.DataAnnotations 上找到任何 MSDN 文档,但要使数据注释与 MVC 一起使用,您需要 System.ComponentModel.DataAnnotationsSystem.Web.Mvc(它包含一些附加属性,例如 HiddenInputAttribute)。
    3. 不,你没有,它是由框架实例化的。

    【讨论】:

      【解决方案2】:

      实际上,对于问题1,您需要使用元数据类来注释模型优先EF类的属性,方法与之前使用MVC2相同。当您使用代码优先的 EF 类时,您可以直接对它们进行注释 - 注释将用于生成数据库以及为视图搭建脚手架。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多