Entity Framework nasıl veritabanına varlıkları yükler?
sobes.tech yapay zeka
AI'dan gelen yanıt
Entity Framework, varlıkları veritabanına yüklerken, takip edilen değişikliklere dayanarak ekleme, güncelleme veya silme SQL sorguları oluşturur ve bunları yürütür.
İşlem şunları içerir:
- Değişiklik takibi: DbContext, her varlığın durumunu (Added, Modified, Deleted, Unchanged) izler.
- Komutların oluşturulması: Takip edilen değişikliklere dayanarak, Entity Framework uygun SQL komutlarını (INSERT, UPDATE, DELETE) oluşturur.
- Komutların yürütülmesi: Oluşturulan komutlar veritabanına gönderilir ve yürütülür.
Eklenmiş bir varlığı kaydetme örneği:
// Veri bağlamını oluşturma
using (var context = new MyDbContext())
{
// Yeni bir varlık oluşturma
var newUser = new User { Name = "Иван" };
// Varlığı bağlama ekleme
context.Users.Add(newUser);
// Değişiklikleri veritabanına kaydetme
context.SaveChanges();
}
Bu örnekte, context.SaveChanges() yükleme işlemini başlatır. EF, INSERT INTO Users (Name) VALUES ('Иван'); türünde SQL sorgusu üretir ve veritabanında yürütür.
Bir varlığı güncelleme sırasında:
using (var context = new MyDbContext())
{
// Varlığı alma
var userToUpdate = context.Users.Find(1);
// Özelliği değiştirme
userToUpdate.Name = "Петр";
// Değişiklikleri kaydetme
context.SaveChanges();
}
Burada, SaveChanges() SQL sorgusunun UPDATE Users SET Name = 'Петр' WHERE Id = 1; üretimini ve yürütülmesini başlatır.
Bir varlığı silme işlemi sırasında:
using (var context = new MyDbContext())
{
// Varlığı alma
var userToDelete = context.Users.Find(2);
// Varlığı bağlamdan kaldırma
context.Users.Remove(userToDelete);
// Değişiklikleri kaydetme
context.SaveChanges();
}
SaveChanges() bu durumda, DELETE FROM Users WHERE Id = 2; SQL sorgusunu üretir ve yürütür.
Entity Framework Core ayrıca, birden fazla INSERT, UPDATE, DELETE işleminin tek veya birkaç paket halinde toplanarak veritabanına daha verimli iletimini sağlayan toplu kaydetme (batch saving) özelliğini de destekler. Bu, veritabanı sağlayıcısına ve onun yeteneklerine bağlıdır.