我用 SQL数据库编写 ASP.NET MVC 编程。我想从日期范围之间获取数据库中的转移列表。还有与产品,品牌,子品牌等表格的外键关系。
在这里我编写了获取列表的代码,但需要时间来加载。数据库每月有3000条记录。如何优化代码?
var stockTransferDetails = db.StockTransferDetails.Where(s => s.BusinessUnitId == BusinessUnitId && (!string.IsNullOrEmpty(from) ? s.StockTransfer.TransferDate >= FromDate : true) && (!string.IsNullOrEmpty(to) ? s.StockTransfer.TransferDate <= ToDate : true)).ToList();
var stocksummary = from STD in stockTransferDetails.GroupBy(f => f.ProductId).ToList()
select new
{
BrandName = STD.FirstOrDefault().Product.Brand.BrandName + STD.Where(m => !m.Product.SubBrand.BrandName.Equals("DEF")).Select(s => " - " + s.Product.SubBrand.BrandName).FirstOrDefault(),
ProductName = STD.FirstOrDefault().Product.ProductName,
Packsize = STD.FirstOrDefault().Product.Packsize + " " + STD.FirstOrDefault().Product.UOM.PickListValue,
// TotalQty = (double?)STD.Sum(s => s.ReceievedQty)
Cost = STD.FirstOrDefault().Product.Cost,
TotalCost = (STD.Sum(s => s.ReceievedQty) * STD.FirstOrDefault().Product.Cost)
};
OutletSTIn.Value = stocksummary.ToList();