2012-06-18 72 views
8

對於Asp.Net MVC來說是相當新的我正在關注書Pro ASP.Net MVC 3 Framework中的SportsStore示例。使用通用存儲庫還是每個實體都有自己的存儲庫是好習慣?

一切都很好,但現在我開始增強基礎示例與一些額外的實體。哪種方法更好: - 每個實體是否應該有自己的存儲庫(這似乎是重複的代碼) 或 - 應該有類似實體的通用存儲庫嗎?

有沒有其他項目在那裏,相同的架構是更完整的樣本?

+0

看一看這一http://stackoverflow.com/a/1231473/105445 –

+1

的[爲每個對象創建一個通用的存儲庫與庫特定的優勢可能重複?](http://stackoverflow.com/questions/1230571/advantage-of-creating-a-generic-repository-vs-specific-repository-for-each-obje) – FoamyGuy

+0

不止一次地看到類似這樣的問題。 –

回答

2

這是在互聯網上激烈辯論的東西。如果你在這裏使用搜索,你可以找到很多關於它的線索。最後只是歸結於你的個人偏好。嘗試兩種選擇並決定哪一種最適合你。

我開始爲每個實體創建單獨的存儲庫,但感覺像是大量的不必要的工作(以及大量的代碼重複),所以最近我開始使用通用存儲庫,這對我來說是完美的。

有關更多信息,請參見本主題:Advantage of creating a generic repository vs. specific repository for each object?

+0

使用獨立的存儲庫,您如何在實體之間進行連接或跨連接進行聚合? – usr

+1

只要你喜歡,你可以在你的倉庫中進行聯接。所以舉個例子:如果你有一個UserRepository和BlogPostRepository,你可以在你的BlogPostRepository中創建一個方法'GetBlogPostsByUserId',然後在該方法中加入'User'和'BlogPost'表。但這只是一種方法,還有很多其他方法。 –

+1

您也可以使用UnitOfWork –

相關問題