我正在启动一个MVC项目并在EF中设计我的数据库,这意味着我设计了表,而VS创建了我需要访问它们的类。
问题是,我想利用DisplayName
,Required
等属性并生成验证错误消息(包括指定要验证的规则)。
据我所知,每次更改数据库时都会重新创建类,因此我无法将它们添加到类中。有没有另一种方法可以做到这一点,并坚持下去?
答案 0 :(得分:3)
因此,您将使用MetadataType
属性并将您的实体链接到您将设置验证属性的类型。
对于实体Person
:
[MetadataType(typeof(Person_Validation))]//<<link to metadata class
public partial class Person//<<<Your real entity class
{//this is in a separate file.
//note =>partial. There's nothing in this class
}
public class Person_Validation//the validations go here.
{
[StringLength(255, ErrorMessage="Name is required"), Required]
[DisplayName("Name")]
public string Name { get; set; }
}