我首先在MVC 5项目中使用Entity Framework 6数据库。我知道模型验证假设是在实体类中使用验证属性。但是,每次我对我的edmx模型进行更改时,它都会重新生成我的实体类,并且会丢失所有验证属性。我应该在我的Controller类中进行模型验证,还是有办法阻止实体框架重新生成我的实体类。
答案 0 :(得分:1)
您需要使用验证等创建元数据类,并使用带有MetadataType
注释的分部类将其附加到模型。以下是如何执行此操作的一个非常简单的示例:
//assume this is the model Entity Framework autogenerates
public partial class SomeClass {
public string Foo { get; set; }
}
//everything under this is what you need to add (in a new file, don't edit generated code)
public class SomeClassMetadata {
[Required]
[Display(Name="Enter a foo here:")]
public string Foo { get; set; }
}
[MetadataType(typeof(SomeClassMetadata))]
public partial class SomeClass {
}