【发布时间】:2015-01-29 16:17:09
【问题描述】:
我正在尝试为使用 Entity Framework 的应用程序创建数据驱动的验证。
在我的验证表中,我想存储:
- 字段名称(FreightToBillCustomer)
- 验证条件 (>)
- 验证值 (5)
- 错误消息(运费到帐客户必须小于 5)
- 会员名(FreightToBillCustomer)
我将在下面使用这些。
if ( FreightToBillCustomer > 5)
{
ValidationResult vr = new ValidationResult("Freight to bill customer must be less than 5",new[] { "FreightToBillCustomer" });
errors.Add(vr);
}
当我将字段名称作为字符串变量传递时,我的问题出现了,我如何翻译/转换为实体框架识别的列。我的目标是获取验证记录列表并在实体的部分类中循环它们并在 SaveChanges() 事件之前执行验证。
【问题讨论】:
-
您坚持到实体框架的对象没有什么特别之处。它们是普通对象,当您加载或保存它们时,EF 将以某种方式处理它们。这意味着您可以使用与任何其他 POCO 相同的反射或表达技术。在构建自己的验证库之前检查现有的验证库,例如 FluentValidation
-
感谢您的快速响应。我是 WPF 和实体框架的新手,所以如果我的要求看起来很简单,请原谅我。我研究了 FluentValidation 并打开了一个全新的世界。我还是看不到如何将字符串变量转换为实体框架列。
标签: c# entity-framework validation