我可以将MVC 2 DataAnnotation属性添加到现有属性吗?

Mik*_*ras 3 c# validation generated-code data-annotations asp.net-mvc-2

我使用生成的类作为模型,我希望将DataAnnotation属性添加到它的一些属性中.因为它是生成的代码,所以我不想直接添加注释.还有另一种方法将它们附加到财产上吗?

我考虑过将模型作为接口,并使用部分类来生成类以订阅它.是否有一个不太精细的解决方案,假设它甚至可以工作?

Pan*_*nek 6

就在这里.您必须创建与原始模型具有相同属性的元数据类,并使用MetadataType属性将其连接到模型:

[MetadataType(typeof(MyModelMetadata))]
public partial class OriginalMyModel
{
}

public class MyModelMetadata
{
    [Required]
    public string MyProperty;  

    // ...
}
Run Code Online (Sandbox Code Playgroud)

在示例ebove中,OriginalModel是您正确的模型类,而MyModelMetadata是仅用于注释属性的类.MyModelMetadata应具有与模型相同的属性.