如何解决如何更新多个表中的单个记录?
.NET MVC。实际上,更新记录时我遇到了一个小问题。让我向您解释我的关注。我输入了一些库存物料并保存在数据库中。在此基础上,我创建了采购订单。如果我想更改任何库存商品名称。我希望该更改将反映在使用该库存项目的采购订单详细信息中。让我分享你的代码。
[Table("Stock")]
public partial class Stock
{
[Key]
public int Stock_ID { get; set; }
[Required]
[StringLength(128)]
public string LoginID { get; set; }
public string Stock_Name { get; set; }
public string Stock_UOM { get; set; }
public int? Status { get; set; }
}
public class StockViewModel
{
public int Stock_ID { get; set; }
public string LoginID { get; set; }
public string Stock_Name { get; set; }
public string Stock_UOM { get; set; }
}
[HttpPost]
public ActionResult UpdateStock(StockViewModel stock)
{
Stock stock2 = new Stock();
string loginId = Convert.ToString(Session["LoginId"]);
string UserRoleName = Convert.ToString(Session["UserTypeName"]);
try
{
if (!string.IsNullOrEmpty(loginId))
{
if (UserRoleName == RoleTypeConstant.CustomerUserType)
{
stock2 = context.Stocks.Where(x => x.Stock_ID == stock.Stock_ID).FirstOrDefault();
if (stock2 != null)
{
using (var txn = context.Database.BeginTransaction())
{
try
{
stock2.Stock_Name = stock.Stock_Name;
stock2.Stock_UOM = stock.Stock_UOM;
List<OrderDetail> order = new List<OrderDetail>();
foreach (var item in order)
{
var orderlist = context.OrderDetails.Where(x => x.ProductID == stock.Stock_ID).FirstOrDefault();
if (orderlist != null)
{
orderlist.ProductName = stock.Stock_Name;
}
}
context.SaveChanges();
txn.Commit();
}
catch (Exception)
{
txn.Rollback();
}
}
}
stock = new StockViewModel();
return RedirectToAction("GetEditStockPartial");
}
else
{
return RedirectToAction("SKU","Home");
}
}
else
{
return RedirectToAction("Login","Account");
}
}
catch (Exception)
{
throw;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。