【发布时间】:2013-06-23 07:58:14
【问题描述】:
据我所知,Entity Framework 中的验证完全建立在这样一个假设之上:如果一个项目没有通过验证,它就不能被持久化到数据库中。是否有任何机制(可能与正常验证并行运行)使对字段的约束向用户产生警告,而不是阻止记录被保存/更新的错误?
更具体地说,我有一种情况,即特定的数值字段对其有限制,但这些都是建议性的,而不是硬性规定的。如果用户输入了超出这些限制的值,他们应该会收到警告,但应该仍然能够保存记录。
理论上,我可以继承 ValidationResult 类来创建一个 ValidationWarning 类,然后创建一个自定义的 ValidationResults 子类,其 IsValid 属性对 ValidationWarning 消息的存在敏感,并在决定实体是否有效时忽略它们.然而,这个需求已经出现在一个已经在开发中的项目中,并且需要大量的重构才能使这种自定义子类正常工作。我更愿意找到一种可以利用而不会造成太多干扰/返工的机制。
【问题讨论】:
标签: validation entity-framework-4 warnings