如何加快以下Linq查询库存

时间:2016-11-30 03:33:15

标签: c# mysql sql asp.net-mvc linq

我用 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();

0 个答案:

没有答案