У меня есть таблица категорий с древовидной структурой (Id, MasterId). Я хочу выбрать все продукты, которые принадлежат к категории, и все дочерние категории.
Сегодня я использую этот SQL-запрос, который работает,но я хотел бы добавить нумерацию страниц, и это было бы проще с чистым запросом LINQ.Я использую Entity Framework 4.
@Count int = 100,
@CategoryId int
with mq as
(
select c.Id as parent, c.Id as child
from dbo.Categories c
where c.Id = @CategoryId
union all
select q.child, c.Id
from mq q
inner join dbo.Categories c on q.child = c.MasterId
)
select top (@Count) P.* from Products P
inner join ProductToCategory PC ON(PC.ProductId = P.Id)
where PC.CategoryId in (
select child from mq
)
and P.PublishStatus = 1
order by P.PublishedDate DESC;
Есть идеи, как получить красивый запрос LINQ по этому вопросу с разбиением на страницы (текущая страница, количество продуктов на странице, общее количество продуктов)?