在我們的Web應用程序中,我們擁有帶CRUD操作和通用查找程序功能的存儲庫,例如userRepository.Get(u => u.Username == someString)
。 和UserRepository
將只返回User
對象。mvc中的代碼組織
但如果我有一個複雜的查詢其做加盟之間Table1
,Table2
和Table3
並返回CustomObject
包含這3代表的某些屬性。
我應該把這些查詢放在服務層嗎? 存儲庫是否只包含基本的CRUD和查找程序功能,並返回基本的實體對象而沒有其他內容?我問,因爲有人告訴我,沒有查詢應該在服務層...
這是您需要查看Domain驅動設計的地方,您可以使用存儲庫執行此操作,但在應用程序複雜時它不是通用的 – brykneval
您也可以查看此文章:http://programmers.stackexchange。com/questions/218011/how-accurate-is-business-logic-should-in-a-service-not-in-a-model – Peter