|
Dasturiy injiniring (EntityFramework 6)
|
bet | 17/53 | Sana | 30.11.2023 | Hajmi | 1,39 Mb. | | #108476 |
Bog'liq Dasturiy injiniringQo’shish
DBga yangi ob’ekt qo’shish uchun quyidagi koddan foydalaniladi:
Player player = new Player();
player.Age = (int)plForm.numericUpDown1.Value;
player.Name = plForm.textBox1.Text;
player.Position = plForm.comboBox1.SelectedItem.ToString();
db.Players.Add(player);
db.SaveChanges();
Muayyan klassga tegishli ob’ektni DBga qo’shish uchun DbSet klassidagi Add metodidan foydalaniladi. Ushbu ob’ekt orqali formada mavjud maydonlarda kiritilgan qiymatlarga mos yozuv shakllantiraladi. Add metodi orqali yangi ob'ekning holati Added qiymati o’rnatiladi. Shuning uchun db.SaveChanges() metodi jadvalga yangi yozuv qo’shish uchun INSERT ifodasini generatsiya qiladi.
O’zgartirish
O’zgartirish ham yuqorida keltirilgan qo’shish amaliga o’xshaydi. Avvalo biz tanlangan ob’ektning xususiyatlari qiymatlarini forma maydonlariga uzatamiz. Ob’ektning o’zgartirilganligini belgilash uchun quyidagi ifodadan foydalanamiz:
db.Entry(player).State = EntityState.Modified;
Ushbu ifoda db.SaveChanges() metodiga joriy ob’ekt uchun UPDATE SQL-ifodasini shakllantirish lozimligini anglatadi.
O’chirish
O’chirish amali juda sodda bo’lib, tanlangan Id qiymat orqali DBda zarur ob’ektni izlab topib, uni db.Players.Remove(player)ga uzatamiz. Ushbu metod ob’ekt statusini Deleted ga o’zgartiradi. Natijada Entity Framework da db.SaveChanges() metodi chaqirilishi natijasida DELETE SQL-ifodasi generatsiya qilinadi.
Ulanish satri
Yuqoridagi misolda ishlatilgan ma’lumotlar konteksti quyidagicha:
class SoccerContext : DbContext
{
public SoccerContext()
: base("DefaultConnection")
{ }
public DbSet Players { get; set; }
}
Ushbu klass vorislangan klass konstruktoriga ulanish satri nomi parametr sifatida uzatilgan (DefaultConnection). Ushbu holda DB bilan ishlashda Code First yondashuvidan foydalanilganligi sababli, agar bunday DB mavjud bo’lmama, u MS SQL Server da qayta DefaultConnection ga keltirilgan qiymatga mos hosil qilingan. DB hosil qilingandan so’ng barcha so’rovlar ushbu DBda bajariladi. Biz MS SQL Server ga Visual Studio yoki SQL Server Management Studio muhitidan foydalangan holda ulanishimiz mumkin.
Ammo real dasturda ulanishga mos DB nomi yoki manzilini dinamik tarzda o’zgartirishga to’g‘ri keladi. Ushbu holda ulanish satridan foydalanish lozim. Visual Studio da loyihaga konfiguratsiya faylini biriktirib qo’yadi. Oddiy loyihalarda (Windows Forms, konsolli) konfiguratsiya fayli sifatida App.config, veb-dasturlar loyihalarida (ASP.NET) ushbu fayl sifatida Web.config ishlatiladi. Loyiha turidan qat'iy nazar konfiguratsiya fayli muayyan tuzilma va elementlardan iborat. Ular orasida connectionStrings qismi mavjud bo’lib, u ulanish satrini ifodalaydi.
Biz MS SQL Server da joylashishi lozim bo’lgan tasodifiy nomli DBni aniqlamoqchi bo’lsak, App.config faylidagi configuration yopiluvchi tegdan so’ng quyidagi kodni qo’shib qo’yamiz:
providerName="System.Data.SqlClient"/>
|
| |