Varlık Çerçevesini kullanırken Lads Mrnka'nın cevabını başarılı bir şekilde almak için kullanıyordum, ancak burada gönderiyorum çünkü özlüyorum (yani gerekli olmadığı yerde kullanıyorum) ve bulgularımı buraya göndereceğimi düşündüm. insanlar yaşadığım sorunu "çözmek" istiyorlar.
Müşteri ile yabancı anahtar ilişkisi olan bir Order nesnesini düşünün. Yeni bir müşteri ve aynı zamanda yeni bir sipariş eklediğimde böyle bir şey yapıyordum;
var customer = new Customer(); //no Id yet;
var order = new Order(); //requires Customer.Id to link it to customer;
context.Customers.Add(customer);
context.SaveChanges();//this generates the Id for customer
order.CustomerId = customer.Id;//finally I can set the Id
Ancak benim durumumda bu gerekli değildi çünkü müşteri.Id ve order.CustomerId arasında yabancı bir anahtar ilişkim vardı
Tek yapmam gereken buydu;
var customer = new Customer(); //no Id yet;
var order = new Order{Customer = customer};
context.SaveChanges();//adds customer.Id to customer and the correct CustomerId to order
Şimdi değişiklikleri kaydettiğimde müşteri için oluşturulan kimlik de siparişe ekleniyor. Ek adımlara ihtiyacım yok
Bunun orijinal soruya cevap vermediğinin farkındayım, ancak EF için yeni olan geliştiricilere, gerekli olmayabilecek bir şey için en çok oy alan cevabı aşırı kullanmaları konusunda yardımcı olabileceğini düşündüm.
Bu aynı zamanda güncellemelerin tek bir işlemde tamamlandığı anlamına gelir ve potansiyel veriyi önler (ya tüm güncellemeler tamamlanır ya da hiçbiri yapılmaz).