-1

由於通用存儲庫可用於插入,更新,刪除等,但它僅限於簡單的Crud操作,如果我想使用我的通用存儲庫進行一些更復雜的插入和搜索,如連接表和通過存儲過程檢索。並使用存儲過程將數據插入到多個表中,那麼如何從通用存儲庫處理它?數據庫交互的通用存儲庫或存儲過程?

1.我可以從我的通用存儲庫中調用存儲過程嗎?

2.使用通用存儲庫+存儲過程是個好主意嗎?

3.它是否兼容標準基複合搜索?

+2

你的問題2有些開放式 - 徵求意見。請詢問更具體的問題。 – xidgel

回答

0

你的問題應該是爲了給你一個正確的答案更具體的,但這裏是我的兩分錢:

  1. 是的,它可以從你的資料庫調用存儲過程。如果您使用的是Entity Framework,則可以將存儲過程映射到CLR對象,您可以從存儲庫中調用該對象。根據您使用的框架(或缺少它),您需要找出正確的語法來執行此操作。

  2. 就我個人而言,我不會使用這種方法,因爲我寧願將業務邏輯放入業務層。但是在某些情況下,它肯定會很有用,例如,當性能非常重要或者您希望完全控制您的查詢或某些其他複雜操作時。請記住,您可以使用LINQ來構建複雜的查詢(加入,排序,過濾,聚合,選擇,, ..)。某些部分甚至可以自動進行,如使用PredicateBuilder WHERE子句,使您基於用戶輸入,搜索標準動態地創建和/或查詢,..

一般來說,是有可能的,但它的所有取決於你工作的環境。