В моем проекте у меня общая потребность вернуть коллекции объектов моей модели, а также количество определенных типов дочерних объектов в каждом, но я не знаю, возможно ли это и как смоделировать свойство TotalCount в класс модели и заполнить его как часть одного запроса Entity Framework, предпочтительно с использованием запросов LINQ. Возможно ли это сделать, используя Entity Framework .Include («Object») и .Skip () и .Take ()? Я новичок в Entity Framework, поэтому мне может не хватать множества очевидных вещей, которые могут позволить это ...
Я также хотел бы иметь возможность разбивать на страницы динамически создаваемые свойства count. Я думаю, что наиболее масштабируемым подходом было бы хранить счетчики как отдельные свойства базы данных, а затем просто запрашивать свойства счетчика. Но для случаев, когда я имею дело с небольшим количеством строк, я бы предпочел вести подсчет динамически.
В такой модели:
Таблица: Класс
Стол: Профессор
Таблица: Участник
Таблица: ClassComment
Я хотел бы вернуть список объектов класса в форме List, но я также хотел бы, чтобы количество посетителей и комментариев класса определялось в одном запросе (предпочтительно LINQ) и устанавливалось в двух свойствах класса, называемых AttendeeCount и ClassCommentCount. .
У меня пока есть это:
var query = from u in context.Classes
orderby tl.Name
select u;
List<Class> topics = ((ObjectQuery<Class>)query)
.Include("ClassComments")
.Skip(startRecord).Take(recordsToReturn).ToList();
Любые предложения или альтернативные подходы к запросам, которые все еще позволяют использовать .Include () и разбиение на страницы, были бы очень признательны, чтобы создать единый запрос к базе данных, если это вообще возможно. Спасибо за любые предложения!