Почему в транзакции C# сохраняется последняя запись из цикла foreach
using (System.Data.Entity.DbContextTransaction dbTran = db.Database.BeginTransaction()) { try { foreach (var items in obj.ListOfItems) { _dbListModel.ItemMainCategory = items.ItemMainCategory; _dbListModel.ItemSubCateogry = items.ItemSubCateogry; _dbListModel.Quantity = items.Quantity; _dbListModel.ItemName = items.ItemName; _dbListModel.ItemPurpose = items.ItemPurpose; _dbListModel.IsIssue = false; _dbListModel.RequestNo = obj.MaterialRequest.RequestNo; // check weather available in store or not _dbListModel.IsAvailable = CheckStock(items.ItemName, items.Quantity); db.tbl_RequestedMaterialDetial.Add(_dbListModel); //db.SaveChanges(); } _dbModelRequestDetail.RequestNo = obj.MaterialRequest.RequestNo; _dbModelRequestDetail.WorkOderNo = obj.MaterialRequest.WorkOderNo; _dbModelRequestDetail.TicketId = obj.MaterialRequest.TicketId; _dbModelRequestDetail.ChassisNo = obj.MaterialRequest.ChassisNo; _dbModelRequestDetail.RequstedDate = obj.MaterialRequest.RequstedDate; _dbModelRequestDetail.Purpose = obj.MaterialRequest.Purpose; _dbModelRequestDetail.Model = obj.MaterialRequest.Model; _dbModelRequestDetail.Type = obj.MaterialRequest.Type; _dbModelRequestDetail.ComputerName = GetUserIP(); _dbModelRequestDetail.Send = "F"; _dbModelRequestDetail.Status = "New Request"; _dbModelRequestDetail.Dept = obj.MaterialRequest.Dept; _dbModelRequestDetail.Designation = obj.MaterialRequest.Designation; _dbModelRequestDetail.EmpID = obj.MaterialRequest.EmpID; _dbModelRequestDetail.RequestPersonName = obj.MaterialRequest.RequestPersonName; db.tbl_MaterialRequestForm.Add(_dbModelRequestDetail); // change the status of the items in requsiton and store //The Transaction will be completed db.SaveChanges(); //commit transaction dbTran.Commit(); } catch (Exception ex) { //Rollback transaction if exception occurs dbTran.Rollback(); }
Что я уже пробовал:
Я хочу сохранить все входящие записи из списка но он сохранил последнюю запись в списке может ли кто нибудь помочь мне пожалуйста
CHill60
Потому что ваше сохранение изменений не входит в цикл, который повторяет все элементы!