Есть вот такой контроллер
[HttpGet("StockOnHand")]
public IActionResult GetStockOnHand()
{
var storeList = context.Stores
.Where(x => x.GeomarketName.StartsWith("RCA"))
.Where(x => x.SubSubSegmentName.StartsWith("WS"))
.Where(x => x.SegmentId == "WSV");
var tempList = storeList.Select(x => x.StoreId);
var StockList = context.StockOnHands
.Where(x => x.PartType.Contains("Inventory"))
.Where(x => tempList.Contains(x.StoreId))
.ToList();
var stockItems = StockList
.Select(x =>
{
Store store = storeList
.Where(s => s.StoreId == x.StoreId)
.FirstOrDefault();
return new StockOnHandList()
{
StockId = x.StockId,
Store = new StoreListDto(store),
StoreId = x.StoreId,
PartNumber = x.PartNumber,
PartDescription = x.PartDescription,
LastPurchasePrice = x.LastPurchasePrice,
StockOnHandQuantity = x.StockOnHandQuantity,
U = x.U,
LotNumber = x.LotNumber,
ExpirationDate = x.ExpirationDate,
ReportUpdateDate = x.ReportUpdateDate,
};
})
.ToList();
return Json(stockItems);
}
Вот это делает контроллер очень медленным.
Store store = storeList
.Where(s => s.StoreId == x.StoreId)
.FirstOrDefault();
Я имею такую структуру и обязательно должно быть поле store.
Но как ускорить запрос, чтобы я не ждал 30 секунд?