我很好奇为什么要使用伙伴类来进行数据验证。考虑以下示例,其中 MyEntity
是 Linq-to-SQL 或 Linq-to-Entities 实体,下面的类是增强实体的分部类。
[MetadataType(typeof(MyEntity.MyEntityMetadata))]
public partial class MyEntity
{
private class MyEntityMetadata
{
[Required(ErrorMessage = "The title is required.")]
public string Title { get; set; }
}
}
为什么这样设计?他们在设计DataAnnotations的时候,为什么会选择这种“伙伴模式”呢?为什么不将属性直接放在实体中?
最佳答案
我认为这可以防止生成的实体覆盖自定义元数据信息。
关于c# - 为什么使用伙伴类进行验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5109785/