2010-05-10 118 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