У меня есть таблица, которая выглядит так:
FruitID | FruitType
23 | 2
215 | 2
256 | 1
643 | 3
Я хочу получить счет FruitType
с учетом списка FruitIDs
, называемого TheFruitIDs
. Это то, что у меня есть:
var TheCounter = (from f in MyDC.Fruits
where TheFruitIDs.Contains(f.FruitID)
group f by 0 into TheFruits
select new MyCounterMode()
{
CountType1 = (int?) TheFruits.Where(f => f.FruitType == 1).Count() ?? 0,
CountType2 = (int?) TheFruits.Where(f => f.FruitType == 2).Count() ?? 0,
.... all the way to CountType6
}).Single();
Этот код работает, но проблема в том, что иногда я получаю ошибку таймаута, потому что запрос выполняется слишком долго. Как я могу изменить этот код, чтобы избежать проблемы с таймаутом?