2010-05-10 177 views
0

我有一個代碼設計問題,一直在鼓勵我一段時間,你看到我正在重構我的網站Cosplay丹麥,一個網站,其中cospalyers可以上傳他們的圖片自己穿着他們的服裝。原來的網站在做PHP,Zend的MVC,但我的重構是在ASP.NET MVC正在做2.最佳實踐,對象設計ASP.NET MVC

如果你把網站http://www.cosplaydanmark.dk/Costumes/(您可以切換到英語在左邊的列(Sprog))

在這裏您可以看到我們網站上所有動畫的圖片列表,我們顯示了該動畫下的名稱,多少個不同的角色以及有多少圖片。

http://www.cosplaydanmark.dk/Costumes/Bleach

如果你點擊一個動畫,你會得到我們在有圖片給定的動漫內的字符的列表,在這裏我們要顯示的字符的名稱,多少畫廊和多少圖像。

http://www.cosplaydanmark.dk/Costumes/Bleach/Ichigo_Kurosaki/

如果你點擊人物的名字,你會得到在給定的動畫給定的字符下的畫廊名單。這裏我們有一些關於畫廊的信息,比如圖片數量。

http://www.cosplaydanmark.dk/Costumes/Bleach/Ichigo_Kurosaki/Admi/

您應該點擊圖庫你得到畫廊中的圖像列表。

我的數據庫目前看起來像這樣。

Database Design http://sogaard.us/uploades/dbdesign.jpg

正如你所想象的有很多不同的查詢的的創建網站,第一個網站,我需要做一個選擇上的「animes」表,併爲每個結果上,我需要對角色和畫廊進行選擇。

我的計劃創建這將是以下

Objects plan http://sogaard.us/uploades/objectsetup.jpg

凡IList中,將延遲加載列表中的一個。

但我不能決定什麼是最好的解決方案,如果還有更好的方法做到這一點。我的首要任務是要保持良好的性能,並儘可能少地丟失功能和代碼維護。

我使用的服務模式與LINQ到SQL存儲庫。

我的設計也不是絕對的,我願意改變它,如果它可以提高性能:d

我希望我有足夠的描述好我的問題讓你明白我的意思,但問的路程,如果有什麼我錯過了。

回答

0

我個人希望能夠扳平並回

讓每有一個animeId屬性,是一個外鍵回到

所以,我可以做一個簡單的查詢getAllImagesByAnimeId