2013-12-03 45 views
3

我正在努力用ServiceStack的ORMLite替换现有的“重型”商业ORM。在沉重的ORM中,我们有能力在保存到数据库之前挂钩“OnSaving”或“BeforeSaving”方法来执行验证。这些方法连接到MyObject.Save()并自动发生,因此上游项目不会忘记调用验证方法。有没有办法用ORMLite执行OnSaving()验证?

我们目前依赖这种机制来执行验证,解决一些性能反规范化问题并确保数据完整性。这是将验证合并到模型中的好方法。 (我们可以希望避免关于在这里使用存储库模式的争论。)

我已经搜索并审查了几个ORMLite示例,但没有找到办法做到这一点。任何人都可以提供一些线索吗?

+0

也只有通过ORMLite源检查,看看是否有在任何扩展明显挂钩。没有找到...在此执行预保存验证的最佳做法是什么? – BinaryBurnie

回答

1

据我所知,没有任何微型不支持事件,所以你必须手动。我不知道你的代码,但我会尽力来形容你可以做什么:与方法Validate(),它返回,即验证收集
1.添加接口IValidation导致
2. IValidation添加实施其每对象OnSaving方法。
3.您微ORM与方法保存
4.在方法创建通用的存储库模式保存检查对象储蓄实现IValidation接口如果是,则调用validate()方法,如果集合不为空,则任何通知用户你想要的方式。

+0

谢谢,亚当。我不得不得出类似的结论。我想这就是你为“微”部分付出的代价。 – BinaryBurnie

相关问题