Контекст: ASP.NET MVC 2.0, C #, SQL Server 2008, IIS7
У меня есть таблица «запланированных встреч» в базе данных.
Существует отношение один ко многим: запланированное собрание -> встречаРегистрация
Чтобы вы могли зарегистрировать 10 человек для встречи.
meetingRegistration имеет поля Имя и Пол (например).
У меня есть «просмотр календаря» на моем сайте, который показывает все предстоящие события, а также подсчет пола для каждого события.
В данный момент я использую Linq to Sql, чтобы получить данные:
var meetings = db.Meetings.Select(
m => new {
MeetingId = m.Id,
Girls = m.Registrations.Count(r => r.Gender == 0),
Boys = m.Registrations.Count(r=>r.Gender == 1)
});
(фактический запрос занимает полстраницы)
Поскольку происходит использование анонимного типа, я не могу извлечь его в метод (поскольку у меня есть несколько разных видов представления календаря, с различной информацией о каждом, и я не хочу создавать новый класс для каждого).
Есть предложения, как это улучшить?
Является ли просмотр базы данных ответом?
Или я должен пойти дальше и создать именованный тип?
Любые отзывы / предложения приветствуются. Мой DataLayer огромен, я хочу урезать его, просто не знаю как.
Указатели на хорошее чтение тоже были бы хорошими.