如何在具有模型优先设计的模型上应用[Display(=“displayname”])等属性?

时间:2012-05-13 22:49:46

标签: asp.net-mvc entity-framework

我正在使用MVC和实体框架。我开始使用代码优先设计,我正在应用[必需]和[显示]等属性,但如果我首先使用模型,我该怎么做呢?我已经创建了我的数据库模型。

谢谢。

1 个答案:

答案 0 :(得分:1)

首先,我确定您已经从Edmx(?)生成了类。然后

解决方案一

生成的类是部分类。

因此,您可以使用MetadataType属性(类可以为空)添加具有部分类(与生成的类相同)的新类文件。

在MetadataType属性中给出的类中,您可以使用属性放置“生成的类”的属性。

//partial class
[MetadataType(typeof(ModelClassValidation))]
public partial class ModelClass
{
}

//class used for attributes
public class ModelClassValidation
{
        [Required]
        [DisplayName("First Name")]
        public string FirstName
        {
                get;
                set;
        }
}

解决方案2

永远不要使用你的Model类,但是ViewModel(s)(我想你知道它是什么,如果没有,你会发现大量信息而不需要太多努力),并将属性放在这些ViewModel类中。