Здравствуйте, делаю интернет магазин и пытаюсь реализовать функцию "похожие товары", тоесть мы заходим в определенную категорию товаров, заходим в вьюшку с детальным описаниям товара и внизу мы предлагаем похожие за категорией товары, за идею было взято использовать LINQ запросы с рандомным выводом записей по категории из таблицы БД, и выводить их на вьюшку. Смотрите вот один из моих запросов:
public PartialViewResult Test2()
{
ListViewModel model = new ListViewModel
{
Furnitures = repository.Furnitures
.Where(x => x.Category.Equals("Кухни"))
.OrderBy(r => Guid.NewGuid()).Take(1)
};
return PartialView(model);
}
Тут всё хорошо и работает , выводит рандомную запись из таблицы по категории "Кухни" и отображается на странице. Но такой запрос я не могу использовать потому что на всех категориях у меня будет отображаться только товары из категории "Кухни".
Вопрос: Как выводить рандомные товары из таблицы в зависимости от той категории на которой мы находимся?? Например, мы зашли в категорию "кровати" и нам вывело рандомный список товаров из кроватей, зашли в раздел Шкафы, нам вывело список рандомных товаров из категории шкафов. Я попробовал переделать данный метод на такой:
public PartialViewResult Test2(string category)
{
ListViewModel model = new ListViewModel
{
Furnitures = repository.Furnitures
.Where(x => category == null || x.Category == category)
.OrderBy(r => Guid.NewGuid()).Take(1),
CurrentCategory = category
};
return PartialView(model);
}
Но он выводит со всех категорий данные, можно как то переделать запрос?? Спасибо!