Я застрял в поисковом запросе продукта для веб-сайта сравнения цен.
Есть 3 таблицы:
Продукт: ProductId
, Title
Поставщик: VendorId
Цена продукта: ProductId
, VendorId
, Price
Цена продукта таблица сопоставления для всех цен поставщиков для определенного продукта.
Теперь я хочу иметь возможность искать продукт, подобный "свитер синего цвета". Это должно заставить всех продавцов продавать товары, содержащие слово «синий свитер» и количество товаров, найденных для каждого продавца.
Вывод должен быть:
{[
{VendorA,Found:23},
{VendorB,Found:2},
}}
К настоящему времени у меня есть только этот запрос для получения всех поставщиков по запросу поиска товаров:
var query = Context.Products
.Join(Context.ProductPrices,
product => product.ProductId,
pprice => pprice.ProductId,
(product, pprice) => new { product, pprice })
.Join(Context.Vendors,
pprice2 => pprice2.pprice.VendorId,
vendor => vendor.VendorId,
(pprice2, vendor) => new { pprice2, vendor })
.Where(x=>x.pprice2.product.Title.Contains("sweater blue"))
.Distinct()
.Select(x=>new
{
x.vendor
});
Я не знаю, как получить подсчеты, найденные для каждого поставщика в ProductPrices
.
Спасибо!