我在問,以便知道這種情況下的最佳做法。我正在使用EF4。插入備註自動插入產品 - 這種情況下的最佳做法?
我有兩個實體叫做「Note」和「Product」。我有另一個名爲「股票」的實體。
注有許多產品,每個產品只能在一個注中(產品必須有註釋)。
無論何時插入,刪除或更新產品,我都必須根據產品附帶的註釋更新相關的股票實體。
在InsertProduct()方法中,我插入產品,然後更新相關庫存。如果產品會破壞庫存規則 - 我收到一個異常,操作將會中止。
在InsertNote()方法中,我不能插入註釋,因爲這樣的東西會自動插入附加的產品和每個需要更新庫存和驗證庫存規則的產品(如上所述)。所以在Note插入之前,我循環遍歷所有產品並調用InsertProduct()。之後,我插入筆記。
直到這裏兩個問題:
是否事情應該是這樣的?在插入備註之前,是否需要手動插入每個產品的 ?這怎麼解決 事實上,產品必須附加到存在注意( 插入產品時,未插入註釋)?
我應該在哪裏放入InsertNote()和InsertProduct()方法? 他們每個人處理筆記,產品和股票實體。我應該創建類似NoteService和ProductService類還是應該將它們放在一個大服務類中?
在我問here的問題,我得到的回答是介紹如何創建這樣OnBeforeInsert事件()。這種實施是否正確,需要在插入產品後更新庫存?