Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在MVC中添加库存_C#_Asp.net Mvc_Linq - Fatal编程技术网

C# 在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

我正在做一个关于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.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();