2013-12-03 42 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

相關問題