有没有办法用ORMLite执行OnSaving()验证?

时间:2013-12-03 19:37:49

标签: ormlite-servicestack

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

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

我搜索并查看了几个ORMLite示例,却没有找到方法。任何人都可以提供一些线索吗?

1 个答案:

答案 0 :(得分:1)

据我所知,没有微观的动画不支持事件,所以你必须手动完成。我不知道你的代码,但我会试着描述你能做什么:
1.使用方法Validate()添加接口IValidation,返回集合,即验证结果
2.将IValidation的实现添加到具有OnSaving方法的每个对象 3.使用方法Save
为您创建微观orm的通用存储库模式 4.在方法保存中检查保存对象是否实现IValidation接口,如果是,则调用Validate()方法,如果collection不为空,则以任何方式通知用户。