Product
и ProductCategory
таблицы «подключены» через таблицу «многие ко многим» ProductToCategory
.Как написать минимальный запрос linq со многими таблицами?
Для некоторых продуктов с некоторым идентификатором (давайте пометить его как product_1) Мне нужно, чтобы получить следующий продукт той же категории как product_1.
Я хотел сделать это с один запрос, поэтому следующий запрос выполняет работу, но sql-профайлер показывает очень ОГРОМНЫЙ запрос. Есть ли предложения, как переписать запрос?
(from p in cxt.Products
join c in cxt.ProductToCategories on p.Id equals c.ProductId
where p.Id > id && c.CategoryId == (from p2 in cxt.Products
join c2 in cxt.ProductToCategories on p.Id equals c.ProductId
where p2.Id == id
select c2.CategoryId).FirstOrDefault()
orderby p.Id
select p).FirstOrDefault();
Пожалуйста, отправьте образец данных, потому что это кажется немного неопределенным: они являются: отношения между товаром и категорией, и вы говорите о «следующем продукте той же категории» (та же категория означает 1 категорию, но это am: n то они более чем одной категории) – danihp