Entity Framework 6



Yüklə 1,54 Mb.
səhifə39/54
tarix17.06.2023
ölçüsü1,54 Mb.
#132013
1   ...   35   36   37   38   39   40   41   42   ...   54
EntityFramework(6,u) uzb

SqlQuery metodidagi parametr sifatida protsedura nomini qabul qiladi. So‘ngra ushbu protsedurada mavjud parametrlar ro‘yxat keltiriladi:
GetPhonesByCompany @name
Ushbu protsedura Phones jadvalidagi satrlarni qaytarganligi sababli, SqlQuery metodini klass orqali tiplashtirishimiz mumkin:
db.Database.SqlQuery("GetPhonesByCompany @name", param);

  1. Fluent API va annotatsiya

Agar loyihamizda biz Code First yondashuvidan foydalansak, modellarga mos klasslar DBdagi jadvallarga Entity Frameworkdagi bir qator qoidalar asosida mos qo‘yiladi. Ammo ba’zi hollarda ushbu qoidalarni o‘zgartirishga yoki qayta ishlashga to‘g‘ri keladi. Buning uchun Fluent API va ma’lumotlar annotatsiyasidan foydalanamiz.


Fluent API
Fluent API metodlar to‘plamidan iborat bo‘lib, ular orqali klass va uning xususiyatlari DB jadvallari va ustunlari bilan mos qo‘yiladi.
Fluent API funksionali OnModelCreating metodini qayta aniqlash orqali amalga oshiriladi:
class FluentContext : DbContext
{
FluentContext()
: base("DefaultConnection")
{ }

public DbSet<Phone> Phones { get; set; }


protected override void OnModelCreating(DbModelBuilder modelBuilder)


{
// Fluent API dan foydalanish
base.OnModelCreating(modelBuilder);
}
}

Ekspremental model sifatida quyidagi modeldan foydalanamiz:


class Phone
{
public int Ident { get; set; }
public string Name { get; set; }
public int Discount { get; set; }
public int Price { get; set; }
}
Klassni jadval bilan mos qo‘yish
EF boshlang‘ich holda modelni nomiga mos jadval bilan moslashtiradi. Ammo biz ToTable() metodi orqali ushbu moslikni o‘zgartirishimiz mumkin:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity().ToTable("Mobiles");
// ispolzovanie Fluent API
base.OnModelCreating(modelBuilder);
}

Endi Phone klassiga mos barcha ob’ektlar Mobiles jadvalida saqlanadi. Shuningdek, ushbu ob’ektlar bilan db.Phones xususiyati orqali ishlash imkoniyati mavjud.


Agar biror ob’ektni jadvalda shakllantirish lozim bo‘lmasa, Ignore() metodi orqali amalni bekor qilishimiz mumkin:

Yüklə 1,54 Mb.

Dostları ilə paylaş:
1   ...   35   36   37   38   39   40   41   42   ...   54




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2025
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin