2012-10-16 52 views
2

我使用EF作爲我的數據提供者來保存和驗證我的項目。 我有一些自定義驗證邏輯需要訪問其他服務或項目。 我知道ValidationContext類提供了這些選項。 我的問題是如何獲得我自己的驗證上下文與服務提供商或項目到EF?EF的自定義驗證上下文?

當我在POCO實體上實現IValidateObject接口時,我得到了驗證上下文的一個實例,但我可以在哪裏確保使用自己的ValidationContext而不是EF默認的實例?

我希望根據一些驗證的事實是,服務或產品可在ValidationContext

+0

你有服務層嗎? – DaveHogan

+0

是的,我也有服務層 – Silvex

回答

2

要通過ValidationContext你需要重寫DbContext.ValidateEntity()。該方法採用兩個參數 - 實體條目和項目。您可以在項目字典中傳遞驗證上下文。看看this stackoverflow question

+0

謝謝!我可以使用ValidateEntity覆蓋! – Silvex

+0

你的文章不見了。請在您的答案中發佈相關部分和背景。 – MetalPhoenix

+0

用指向stackoverflow問題的鏈接替換了帖子的鏈接。 – Pawel