asp.net N层体系结构中的SaveChanges问题

bq9c1y66  于 2023-01-10  发布在  .NET
关注(0)|答案(1)|浏览(121)

通常,在MVC中,我会在完成一些处理后使用db.savechanges()方法。但是检查下面的代码,当我在everyloop中使用N层架构时,它会以这种方式插入,但我不想这样做。我必须首先检查所有项目。如果没有问题,我必须将其全部插入。

foreach (var item in mOrderList)
                {
                    MOrder mOrder = new MOrder();
                    mOrder.StatusAdmin = false;
                    mOrder.Date = DateTime.Now;
                    mOrder.StatusMVendor = "Sipariş alındı.";
                    mOrder.HowMany = item.HowMany;
                    mOrder.MBasketId = item.MBasketId;
                    mOrder.MProductId = item.MProductId;
                    mOrder.MVendorId = item.MVendorId;
                    mOrder.WInvestorId = item.WInvestorId;

                    MProduct mprostock = _imProductService.GetMProductById(item.MProductId);
                    if (mprostock.Stock<=0)
                    {
                        return ReturnErrorAndSuccess(HttpStatusCode.NotFound, "MProduct", mprostock.Name + " ürününde stok kalmadığı için işlem tamamlanamadı.");
                    }
                    _imOrderService.InsertMOrder(mOrder);
                }
hjqgdpho

hjqgdpho1#

你要做的就是

  • 首先,您应该定义一个获取mProductId列表方法,然后返回MProduct列表。
  • 之后你应该检查是否有股票〈=0的记录,然后返回你的错误。-同样对于你的插入,你应该定义一个方法来获取MOrder列表并返回适当的数据类型,例如布尔型。
public List<MProduct> GetMProductByIds(List<MProductId> mProductId)
{
  //getting record code
}

public bool AddMOrder(List<MOrder> mOrder)
{
  //inserting record code
}

相关问题