Entity Framework qanday qilib ma'lumotlar bazasiga ob'ektlarni yuklaydi?
sobes.tech AI
AIdan javob
Entity Framework ma'lumotlar bazasiga entitlarni yuklaydi, ularni qo'shish, yangilash yoki o'chirish uchun SQL so'rovlarini tuzib, ularni bajaradi.
Jarayon quyidagilarni o'z ichiga oladi:
- O'zgarishlarni kuzatish: DbContext har bir entitining holatini (Added, Modified, Deleted, Unchanged) kuzatadi.
- Buyruqlarni yaratish: Kuzatilgan o'zgarishlarga asoslanib, Entity Framework mos SQL buyruqlarini (INSERT, UPDATE, DELETE) ishlab chiqaradi.
- Buyruqlarni bajarish: Yaratilgan buyruqlar ma'lumotlar bazasiga yuboriladi va bajariladi.
Qo'shilgan entitni saqlash misoli:
// Ma'lumotlar kontekstini yaratish
using (var context = new MyDbContext())
{
// Yangi entitni yaratish
var newUser = new User { Name = "Иван" };
// Entitni kontekstga qo'shish
context.Users.Add(newUser);
// O'zgarishlarni bazaga saqlash
context.SaveChanges();
}
Ushbu misolda, context.SaveChanges() yuklash jarayonini boshlaydi. EF INSERT INTO Users (Name) VALUES ('Иван'); SQL so'rovini ishlab chiqaradi va uni ma'lumotlar bazasida bajaradi.
Entitni yangilashda:
using (var context = new MyDbContext())
{
// Entitni olish
var userToUpdate = context.Users.Find(1);
// Xususiyatni o'zgartirish
userToUpdate.Name = "Петр";
// O'zgarishlarni saqlash
context.SaveChanges();
}
Bu yerda, SaveChanges() SQL so'rovini UPDATE Users SET Name = 'Петр' WHERE Id = 1; ishlab chiqaradi va bajaradi.
Entitni o'chirishda:
using (var context = new MyDbContext())
{
// Entitni olish
var userToDelete = context.Users.Find(2);
// Entitni kontekstdan o'chirish
context.Users.Remove(userToDelete);
// O'zgarishlarni saqlash
context.SaveChanges();
}
SaveChanges() bu holatda, DELETE FROM Users WHERE Id = 2; SQL so'rovini ishlab chiqaradi va bajaradi.
Entity Framework Core shuningdek, bir nechta INSERT, UPDATE, DELETE operatsiyalarini bitta yoki bir nechta paketga birlashtirish imkonini beradigan partiyaviy saqlash (batch saving) imkoniyatini ham qo'llab-quvvatlaydi. Bu ma'lumotlar bazasi provayderi va uning imkoniyatlariga bog'liq.