DatabaseFirist orqali berilganlar bazasi bilan ishlash.
Database First Approach Entity Data Modeliga Code First va Model First yondashuvlariga muqobil taqdim etadi va u loyihadagi ma’lumotlar bazasidan model kodlarini (sinflar, xususiyatlar, DbContext va boshqalar) yaratadi va bu sinflar ma’lumotlar bazasi o‘rtasidagi bog‘lovchiga aylanadi. va boshqaruvchi. Agar siz mening so'nggi maqolamni eslayotgan bo'lsangiz " Entity Framework-da birinchi kodga yondashuv " (men sizga "Birinchi kod" maqolamni o'qishni tavsiya qilaman, chunki ko'plab asoslar yoritilgan), bu erda biz birinchi navbatda model kodlarini (sinflar, xususiyatlar, DbContext) yaratdik. ) va keyin bu model sinflari biz uchun ish vaqtida ma'lumotlar bazasini yaratadi va shuning uchun biz uni "Birinchi kod" deb nomladik
DbContext klassi Entity Frameworkning ajralmas qismidir. Misoli DbContextma'lumotlar bazasi bilan seansni ifodalaydi, bu sizning ob'ektlaringiz misollarini ma'lumotlar bazasiga so'rash va saqlash uchun ishlatilishi mumkin. DbContextIsh birligi va Repozitariy naqshlarining birikmasidir
DbContextEF Core da bizga quyidagi vazifalarni bajarish imkonini beradi:
Ma'lumotlar bazasi ulanishini boshqarishModel va munosabatlarni sozlangMa'lumotlar bazasi so'roviMa'lumotlar bazasiga ma'lumotlarni saqlashO'zgarishlarni kuzatishni sozlangKeshlashTranzaksiyalarni boshqarish
Ilovamizda foydalanish DbContextuchun biz DbContextkontekst sinfi sifatida ham tanilgan dan kelib chiqadigan sinfni yaratishimiz kerak. Ushbu kontekst klassi odatda modeldagi har bir ob'ekt uchun DbSet xususiyatlarini o'z ichiga oladi. EF Core-da kontekst sinfining quyidagi misolini ko'rib chiqing.
public class SchoolContext : DbContext { public SchoolContext() { } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { } //entities public DbSet Students { get; set; } public DbSet Courses { get; set; } }
DbContext metodlari
Add-Qo'shilgan holati bilan yangi ob'ektni qo'shadi DbContextva uni kuzatishni boshlaydi. Ushbu yangi ob'ekt ma'lumotlari SaveChanges() chaqirilganda ma'lumotlar bazasiga kiritiladi.
SaveChanges-Qo'shilgan, O'zgartirilgan yoki O'chirilgan holatiga ega bo'lgan ob'ektlar uchun ma'lumotlar bazasiga INSERT, UPDATE yoki DELETE buyrug'ini bajaring
AddAsync-Qo'shilgan holatga yangi ob'ektni qo'shish DbContextva uni kuzatishni boshlash uchun asinxron usul. Ushbu yangi ob'ekt ma'lumotlari SaveChangesAsync() chaqirilganda ma'lumotlar bazasiga kiritiladi
Remove-SaveChanges() chaqirilganda ma'lumotlarni o'chirib tashlaydigan belgilangan ob'ektga O'chirilgan holatini o'rnatadi.
|