我想知道什麼是使用實體框架轉換的最佳方式。對象上下文,存儲庫和事務
說我有三個不同版本庫:
Repo1(ObjectContext context)
Repo2(ObjectContext context)
Repo3(ObjectContext context)
和服務對象,需要三個庫:
Service(Repo1 repo1,Repo2 repo2, Repo3 repo3)
Serive.CreateNewObject <- calls repo1, repo2, repo3 to do stuff.
所以,當我創建的服務,我首先創建三個不同版本庫,並通過他們下來,每個存儲需要一個對象上下文,所以我的代碼看起來像這樣:
MyObjectContext context = new MyObjectContext();
Repo1 repo = new Repo1(context);
// etc
現在我有一個控制器類,它負責調用我的應用程序的不同服務和比較器,顯示正確的表單等。現在我想要做的就是將發生在控制器方法之一中的所有事情都包裝在一個事務中如果出現問題,我可以回滾。
控制器需要幾個不同的服務對象,但不知道對象上下文的任何內容。
我的問題是:
- 如果上下文到服務層也被傳遞。
- 如何在控制器中實施交易,以便發生在服務 層中的任何事情都無法完成,直到所有事情都已過。
很抱歉,如果這是一個有點難以理解..
+1大文章! – Albic 2009-10-19 14:56:51