Veritabanına birçok (20+) üst düzey alt veri kümesi yazıyorum ve EF, her bir grup arasında geçiş yapmamı gerektiriyor; ancak bu, birincil anahtarı anlayamama konusunda şikayette bulunuyor. Veriler SQL Server'a akabilir mi? Böylece EF, birincil anahtarları kimliklerden geri alabilir, böylece SaveChanges tüm değişikliklerin yazılmasının sonunda gönderilir.Entity Framework, tek bir SaveChanges() ile ilgili birçok varlığı ekleyebilir mi?
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'i büyük döngünün sonunda yalnızca bir kez yapmak istiyorum.
Sen yeni oluşturulan nesnelere değil kimlikleri için referanslarını nesneleri kullanırsanız her zaman değişiklikleri kaydetmek için ihtiyacım yok