Передовой опыт, проектирование объектов ASP.NET MVC

У меня есть вопрос о дизайне кода, который мучил меня некоторое время. Видите ли, я занимаюсь рефакторингом своего веб-сайта Cosplay Denmark, сайта, на котором косплееры могут загружать свои изображения в своих костюмах. Оригинальный сайт был сделан на php, Zend MVC, но мой рефакторинг выполняется в ASP.NET MVC 2.

Если взять сайт 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/< /а>

Если вы нажмете на галерею, вы получите список изображений в галерее.

На данный момент моя база данных выглядит так.

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

Как вы можете себе представить, существует множество разных запросов для создания сайта, на первом сайте мне нужно сделать выборку в таблице «аниме», и для каждого результата мне нужно сделать подсчет выбора символов и галереи.

Мой план по его созданию будет одним из следующих

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

Где IList будет списком ленивой загрузки.

Но я не могу решить, какое решение было бы лучшим для этого, а также есть ли лучший способ сделать это. Мой приоритет — иметь хорошую производительность с минимальной потерей функций и поддержкой кода.

Я использую шаблон обслуживания с репозиторием linq to sql.

Мой дизайн не абсолютен, я готов изменить его, если это может повысить производительность :D

Я надеюсь, что описал свой вопрос достаточно хорошо, чтобы вы поняли, что я имею в виду, но спрашивайте, если я что-то упустил.


person Androme    schedule 10.05.2010    source источник


Ответы (1)


Мне лично нравится иметь возможность привязать и обратно к

Так что каждый и имеет свойство animeId, которое является внешним ключом обратно к

Чтобы я мог сделать простой запрос getAllImagesByAnimeId

person MarkKGreenway    schedule 11.05.2010