|
Map metodi orqali alohida tarzda shakllantirilgan xususiyatlarni jadvalga birlashtirish mumkin. Name
|
bet | 50/53 | Sana | 30.11.2023 | Hajmi | 1,39 Mb. | | #108476 |
Bog'liq Dasturiy injiniringMap metodi orqali alohida tarzda shakllantirilgan xususiyatlarni jadvalga birlashtirish mumkin. Name xususiyatlari Mobiles jadvaliga, Company va Price xususiyatlari MobilesInfo jadvaliga saqlanadi. Id xususiyatini tashlab ketish mumkin. Chunki bu ma’lumot har ikkala jadvalda aloqani ta'minlashda ishlatiladi. Natijada ikkita jadval shakllantiriladi:
Model ustida amal quyidagicha shakllantirilishi mumkin:
using (MobileContext db = new MobileContext())
{
Phone p1 = new Phone { Id = 1, Name = "Samsung Galaxy S5", Company = "Samsung", Price = 14000 };
Phone p2 = new Phone { Id = 2, Name = "Nokia Lumia 630", Company = "Nokia", Price = 8000 };
db.Phones.Add(p1);
db.Phones.Add(p2);
db.SaveChanges();
foreach (Phone p in db.Phones)
Console.WriteLine("{0} ({1}) - {2}", p.Name, p.Company, p.Price);
}
Entity Framework da vorislash
TPH yondashuvi
TPH yondashuvi asosida klasslar ierarxiyasi uchun bitta jadval shakllantiriladi. Bosh va vorislanuvchi klass ma’lumotlari yagona jadvalda saqlanadi. Jadval ma’lumotlarini farqlash uchun jadvalda qo’shimcha ustun hosil qilinadi. Quyida telefon va smart telefonlarni ifodalovchi klasslar ierarxiyasi keltirilgan:
public class Phone
{
public int Id { get; set; }
public string Name { get; set; }
public string Company { get; set; }
public int Price { get; set; }
}
public class Smartphone : Phone
{
public string OS { get; set; }
}
class MobileContext : DbContext
{
public MobileContext()
: base("DefaultConnection")
{ }
public DbSet Phones { get; set; }
public DbSet Smarts { get; set; }
}
Ushbu klasslar ierarxiyasida Smartphone klassi Phone klassidan vorislangan bo’lib, unga mos jadval tuzilmasi quyidagicha:
|
| |