【发布时间】:2014-11-18 02:48:37
【问题描述】:
我正在向数据库写入许多(20 多个)父子数据集,而 EF 要求我在每组之间保存更改,否则它会抱怨无法找出主键。是否可以将数据刷新到 SQL Server,以便 EF 可以从身份中获取主键,并在写入所有更改结束时发送 SaveChanges?
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();
}
我想在大循环结束时只执行一次 SaveChanges。
【问题讨论】:
标签: c# entity-framework identity