2012-12-11 30 views
2

两年前我做了MVC 2。我现在使用MVC 4,并想确认一些事情。数据注解和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事件中实例化默认的模型联编程序。

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

回答

4
  1. 我记得,MVC 2和MVC 4在这方面没有区别。您不必在MVC 2中使用MetadataType,您可以使用部分类生成模型。
  2. 我无法在Microsoft.Web.Mvc.DataAnnotations上找到任何MSDN文档,但对于使用MVC的数据注释,您需要System.ComponentModel.DataAnnotationsSystem.Web.Mvc(它包含一些其他属性,如HiddenInputAttribute)。
  3. 不,你不这样做,它是由框架实例化的。
+0

非常感谢。 –

0

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