c# - 为什么使用伙伴类进行验证?

标签 c# .net data-annotations

我很好奇为什么要使用伙伴类来进行数据验证。考虑以下示例,其中 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/

相关文章:

c# - HttpWebRequest 在 VS for Win Phone 上抛出 "The remote server returned an error: NotFound."

c# - 计算分贝

asp.net-mvc-3 - 数据注释首先使用代码在主键上设置身份种子值

c# - ASP.NET MVC 2 中的验证

.net - Azure 网站上 "Always On"设置的含义

asp.net-mvc - 如何从强类型 View 中隐藏 Entity Framework 实体属性?

c# - 如何使用 XmlSerializer 将自定义值设置为 xml header 中的 xmlns

c# - 如何避免堆栈溢出?

c# - SetupSet() 已过时。代替什么?

c# - 正则表达式提取电话号码