实体框架将第一行从列表添加到数据库

本文关键字:一行 列表 添加 数据库 框架 实体 | 更新日期: 2023-09-27 18:33:35

foreach (StockItem item in StockList)
{
    Master master = new Master();
    master.VoucherNo = BillNo;
    master.Voucher = "Sales";
    master.StockName = StockList[0].StockName;
    master.Quantity = StockList[0].Quantity;
    master.Unit = StockList[0].Unit;
    master.Price = StockList[0].UnitPrice;
    master.Amount = StockList[0].Amount;
    dbContext.AddToMasters(master);
    dbContext.SaveChanges();
}
Sale sale = new Sale();
sale.InvoiceNo = BillNo;
sale.Date = BillDate;
sale.Party = Customer;
sale.Amount = (decimal)TotalAmount;
dbContext.AddToSales(sale);
dbContext.SaveChanges();
如果有 n 行,

则此代码仅添加 StockList 中的第一行,则所有 n 次。

代码有什么问题?

实体框架将第一行从列表添加到数据库

您正在迭代 StockList,但实际上并没有使用迭代变量。

只要你使用库存清单[0],你都应该使用item。

编辑:这是你的循环应该是什么样子的:

foreach (StockItem item in StockList)
{
    Master master = new Master();
    master.VoucherNo = BillNo;
    master.Voucher = "Sales";
    master.StockName = item.StockName;
    master.Quantity = item.Quantity;
    master.Unit = item.Unit;
    master.Price = item.UnitPrice;
    master.Amount = item.Amount;
    dbContext.AddToMasters(master);
    dbContext.SaveChanges();
}