C# 在MVC中添加库存
我正在做一个关于MVC的项目 以下是我的库存表的外观:C# 在MVC中添加库存,c#,asp.net-mvc,linq,C#,Asp.net Mvc,Linq,我正在做一个关于MVC的项目 以下是我的库存表的外观: var add = (from m in db.Tbl_Inventory where m.FoodId == pdtfid select m.QuantityInStock).FirstOrDefault(); if (add == 0) { In.FoodId = product.FoodId; In.Quantit
var add = (from m in db.Tbl_Inventory
where m.FoodId == pdtfid
select m.QuantityInStock).FirstOrDefault();
if (add == 0)
{
In.FoodId = product.FoodId;
In.QuantityInStock = In.QuantityInStock + product.ProductQuantity;
db.Tbl_Inventory.Add(In);
}
else
{
}
我希望我的FoodId被分组,并且必须在同一个表上更新相应的QuantityInStyock
以下是我的控制器的外观:
var add = (from m in db.Tbl_Inventory
where m.FoodId == pdtfid
select m.QuantityInStock).FirstOrDefault();
if (add == 0)
{
In.FoodId = product.FoodId;
In.QuantityInStock = In.QuantityInStock + product.ProductQuantity;
db.Tbl_Inventory.Add(In);
}
else
{
}
我需要在else语句中进行查询,以便下次添加FoodId已经存在于数据库中的新产品时,它应该只更新QuantityInStock而不是创建新行。我建议检索Tbl_库存记录并检查记录是否为空,而不是检索m.QuantityInStock。如果为空,则创建新记录,否则更新QuantityInStock属性。请参见下面的代码
// get the Tbl_Inventory record where FoodId equals pdtfid
var add = (from m in db.Tbl_Inventory
where m.FoodId == pdtfid
select m).FirstOrDefault();
if (add == null)
{
// insert new record
In.FoodId = product.FoodId;
In.QuantityInStock = In.QuantityInStock + product.ProductQuantity;
db.Tbl_Inventory.Add(In);
}
else
{
// update QuantityInStock from the existing record
add.QuantityInStock += product.ProductQuantity;
}
// submit the changes
db.SaveChanges();