我的應用程序使用調用使用linq to sql的存儲庫的業務層。linq2sql - 在哪裏登記事務(存儲庫或bll)?
我有一個Item類具有枚舉類型屬性和ItemDetail屬性。
我需要實現一個刪除方法:
(1)始終刪除項目 (2)如果項目。形式是XYZ和ItemDetail不爲空,刪除ItemDetail爲好。
我的問題是這個邏輯應該放在哪裏?
如果我在我的業務邏輯中使用它,則需要兩個獨立的存儲庫調用,每個調用都使用一個單獨的數據上下文。我將不得不包裝這兩個調用是一個System.Transaction(在SQL 2005中)被提升爲分佈式事務,這是不理想的。
我可以將其全部移至單個存儲庫調用,並且該事務將由datacontext隱式處理,但認爲這實際上是業務邏輯,因此不屬於存儲庫。
想法?
嘉莉
任何人得到這個有什麼想法? – 2010-03-29 08:20:03