我遇到了linq查询的问题我正在尝试从填充表中获取正确的值。我的for循环在每次迭代时将值保存到数据库,但是当我使用断点查看变量的值时,查询不会返回正确的结果。我的初始值是(10,20,10,12),并且在每次迭代时我希望它们减去3并将新值保存到正常工作的数据库但是当我在linq查询中查询这些值时它仍会带回来每次迭代的初始值(10,20,10,12),如何从数据库中获取正确的值?
for (int a = 0; a < copy; a++ )
{
var qtyRemaining = from row in db.ShipmentPackagesRemaining
where row.orderid.Equals(salesNum) && row.itemnumber == shipItemNum
select row;
orderQty = qtyRemaining.First().qty_remaining;
// loop through items in package
if(orderRecord.qtyPerPack > 0)
{
if(orderRecord.qtyPerPack > orderQty)
{
packQty = orderQty;
}
else
{
packQty = orderRecord.qtyPerPack;
}
if (shipPackCheck.Count() == 0)
{
// populate database for shipment packages
shipmentPack.id = shipPackId;
shipmentPack.shipmentid = shipNo.First().shipmentid;
shipmentPack.shipmenttype = "SO";
shipmentPack.partid = "Pack_Type1";
shipmentPack.grossweight = 0;
shipmentPack.nettweight = 0;
shipmentPack.actualweight = 0;
shipmentPack.olversionnumber = countQty;
db.shipmentpackages.Add(shipmentPack);
}
// populate shipment package items
shipmentPackItem.packageid = shipPackId;
shipmentPackItem.itemnumber = itemNo;
shipmentPackItem.shipmentid = shipNo.First().shipmentid;
shipmentPackItem.shipmentitemnumber = shipItemNum;
shipmentPackItem.shipmenttype = "SO";
shipmentPackItem.stockbatchid = stockBatchID;
shipmentPackItem.quantity = packQty;
shipmentPackItem.uom = partDetails.First().uom;
shipmentPackItem.weight = partDetails.First().weight;
shipmentPackItem.olversionnumber = 0;
db.shipmentpackageitems.Add(shipmentPackItem);
db.SaveChanges();
}
}