在MVC中添加库存

时间:2014-09-23 05:57:57

标签: c# asp.net-mvc linq

我在MVC上做了一个项目,

这是我的库存表的样子:

inventory table

我希望将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而不是创建新行。

1 个答案:

答案 0 :(得分:0)

我建议检索m.QuantityInStock记录并检查记录是否为空,而不是检索Tbl_Inventory。如果为null,则创建新记录,否则更新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();