【发布时间】:2012-03-06 17:17:50
【问题描述】:
我正在使用 Entity Framework 4.3 进行代码优先开发,似乎无法通过属性注释或任何其他方式表达 CHECK constraint。我看到 EF 5.0 将增加对 checking enumerations 的支持,但这并不是我想要的。
举一个简化的例子,我想验证所有 Person 对象的名字都是“Bob”或“Harry”,并且年龄为 5、10 或 30 岁。
public class Person
{
[Required]
[Check("Bob", "Harry")] //yes, this attribute is imaginary
public string FirstName { get; set; }
[Required, Check(5, 30, 50)] //check is still imaginary
public int Age { get; set; }
}
我可以在事后运行一个修改脚本来添加这些约束,并且我可以滚动我自己的检查属性来执行验证,但是我是否缺少一种方法来实际表达实体框架中的非枚举 CHECK 约束?
【问题讨论】:
标签: c# entity-framework entity-framework-4.3