Tôi đang viết nhiều (20+) bộ dữ liệu con của cha mẹ vào cơ sở dữ liệu, và EF yêu cầu tôi phải sửa đổi giữa mỗi bộ, mà không có nó phàn nàn về việc không thể tìm ra khóa chính. Dữ liệu có thể được xả vào máy chủ SQL sao cho EF có thể lấy lại các khóa chính từ danh tính, với các SaveChanges được gửi vào cuối viết tất cả các thay đổi?Can Entity Framework có thể thêm nhiều thực thể liên quan với một SaveChanges() đơn lẻ?
foreach (var itemCount in itemCounts)
{
var addItemTracking = new ItemTracking
{
availabilityStatusID = availabilityStatusId,
itemBatchId = itemCount.ItemBatchId,
locationID = locationId,
serialNumber = serialNumber,
trackingQuantityOnHand = itemCount.CycleQuantity
};
_context.ItemTrackings.Add(addItemTracking);
_context.SaveChanges();
var addInventoryTransaction = new InventoryTransaction
{
activityHistoryID = newInventoryTransaction.activityHistoryID,
itemTrackingID = addItemTracking.ItemTrackingID,
personID = newInventoryTransaction.personID,
usageTransactionTypeId = newInventoryTransaction.usageTransactionTypeId,
transactionDate = newInventoryTransaction.transactionDate,
usageQuantity = usageMultiplier * itemCount.CycleQuantity
};
_context.InventoryTransactions.Add(addInventoryTransaction);
_context.SaveChanges();
}
Tôi muốn thực hiện SaveChang của mình chỉ một lần ở cuối vòng lặp lớn.