将验证附加到MVC控制器/视图中使用的EF对象?

Rya*_*ers 3 c# asp.net asp.net-mvc entity-framework

我们正在组合一个快速项目(CRUD表单)并决定跳过视图模型并直接在控制器和视图中使用EF实体.由于我不习惯这种方法,我对处理验证感到困惑.

例如:DB字段的长度为25.如何在我的视图中将其转移(如果可以)到验证约束?如果我使用的是中间模型,我会将属性附加到模型属性,它会起作用.我如何直接使用EF对象?谢谢.

ami*_*t_g 7

这可以使用Ef生成的类上的MetadataType属性来完成.EF生成部分类.所以可以扩展它们并将属性添加到它.然后可以编写另一个可以有成员装饰的"伙伴类".例如

[MetadataType(typeof(EFGeneratedClass_MetaData))]
public partial class EFGeneratedClass
{
}

public partial class EFGeneratedClass_MetaData
{
    [Required]
    [Display(Name="Member1 Display")]
    public string Member1 {get; set;}
}
Run Code Online (Sandbox Code Playgroud)