Entity Framework кандайча объекттерди маалыматтар базасына жүктөйт?
sobes.tech AI
AIден жооп
Entity Framework маалымат базасына объекттерди жүктөө үчүн SQL суроолорун түзүү аркылуу иштейт, ал эми өзгөртүүлөрдү көзөмөлдөө жана алардын негизинде Insert, Update же Delete командасын түзүп, андан соң ишке ашырат.
Процесс төмөнкүдөй:
- Өзгөртүүлөрдү көзөмөлдөө: DbContext ар бир объекттин абалын көзөмөлдөйт (Added, Modified, Deleted, Unchanged).
- Командаларды түзүү: Көзөмөлдөнгөн өзгөртүүлөрдүн негизинде Entity Framework тиешелүү SQL командаларын (INSERT, UPDATE, DELETE) түзөт.
- Командаларды ишке ашыруу: Түзүлгөн командалар базага жөнөтүлүп, аткарылат.
Мисал катары жаңы объектти сактоо:
// Маалымат контекстин түзүү
using (var context = new MyDbContext())
{
// Жаңы объект түзүү
var newUser = new User { Name = "Иван" };
// Объектти контекстке кошуу
context.Users.Add(newUser);
// Өзгөртүүлөрдү сактоо
context.SaveChanges();
}
Бул мисалда context.SaveChanges() ишти баштайт. EF SQL суроо түзөт: INSERT INTO Users (Name) VALUES ('Иван'); жана аны базада аткарат.
Объектти жаңыртуу:
using (var context = new MyDbContext())
{
// Объектти алуу
var userToUpdate = context.Users.Find(1);
// Мүчө өзгөртүү
userToUpdate.Name = "Петр";
// Өзгөртүүлөрдү сактоо
context.SaveChanges();
}
Бул учурда SaveChanges() SQL суроосун түзөт: UPDATE Users SET Name = 'Петр' WHERE Id = 1;.
Объектти өчүрүү:
using (var context = new MyDbContext())
{
// Объектти алуу
var userToDelete = context.Users.Find(2);
// Объектти контексттен өчүрүү
context.Users.Remove(userToDelete);
// Өзгөртүүлөрдү сактоо
context.SaveChanges();
}
Бул учурда SaveChanges() SQL суроосун түзөт: DELETE FROM Users WHERE Id = 2;.
Entity Framework Core ошондой эле топтому менен сактоого (batch saving) мүмкүнчүлүк берет, анда бир нече INSERT, UPDATE, DELETE операциялары бир нече пакетке бириктирилет, бул базага жиберүүнү натыйжалуу кылат. Бул базанын камсыздоочусуна жана анын мүмкүнчүлүктөрүнө көз каранды.