【发布时间】:2010-06-08 17:59:58
【问题描述】:
我使用 VS2010 的实体框架创建了一个简单的人员类,其中包含属性、名字、姓氏和电子邮件。如果我想像blog post 中那样附加 DataAnnotations,我有一个小问题,因为我的 person 类是动态生成的。我可以直接编辑动态生成的代码,但任何时候我必须更新我的模型,我的所有验证代码都会被删除。
第一直觉是创建一个部分类并尝试附加注释,但它抱怨我正在尝试重新定义属性。我不确定您是否可以像 C++ 中的函数声明一样在 C# 中进行属性声明。如果可以,那可能就是答案。这是我尝试过的sn-p:
namespace PersonWeb.Models
{
public partial class Person
{
[RegularExpression(@"(\w|\.)+@(\w|\.)+", ErrorMessage = "Email is invalid")]
public string Email { get; set; }
/* ERROR: The type 'Person' already contains a definition for 'Email' */
}
}
【问题讨论】:
-
我真的很失望你不能定义一个部分类并用你在代码示例中显示的数据注释来装饰它。那是我的第一直觉。然后我看到了这篇文章,没有看到任何对我有吸引力的解决方案。 ef 团队应该提供一个映射机制来规避这种相当烦人的特质。
标签: c# entity-framework validation asp.net-mvc-2