DBdan biror modelga mos bitta ob’ektni aniqlash uchun Find() metodidan foydalanishimiz mumkin. Ushbu metod Linq metodi hisoblanmaydi. U DbSet klassida aniqlangan:
// id=3 bo‘lgan elementni aniqlash
Phone myphone = db.Phones.Find(3);
Console.WriteLine("{0}.{1} - {2}", myphone.Id, myphone.Name, myphone.Price);
Ammo alternativ sifatida Linq First()/FirstOrDefault() metodlaridan foydalanishimiz mumkin. Ular shart asosida aniqlangan elementlar ro‘yxatidan birinchi elementi qaytaradi.
FirstOrDefault() metodini ishlatish qulay bo‘lib, agar natija bo‘sh to‘plam bo‘lgan holda u null qiymatni qaytaradi. First() metodi esa ushbu holda xatolikni qaytaradi. Buning uchun quyidagi koddan foydalanish zarur:
Phone myphone = db.Phones.FirstOrDefault(p => p.Id == 3);
if (myphone != null)
Console.WriteLine(myphone.Name);
Endi proeksiyani amalga oshiramiz. Biz natijaga kompaniya nomini qo‘shishimiz lozim bo‘lsin. U holda Include metodidan foydalanib, ob’ektni boshqa jadvaldagi ob’ekt bilan bog‘lash mumkin:
var phones = db.Phones.Include(p => p.Company);
foreach (Phone p in newphones)
Console.WriteLine("{0}.{1} - {2}", p.Id, p.Company.Name, p.Price);
Ammo ko‘p hollarda tanlanadigan ob’ektning barcha xususiyatlari zarur emas. Ushbu holda Select metodi orqali olinayotgan ma’lumotlardan yangi tip hosil qilish mumkin:
15-savol ENTITY Frameworkda foydalanuvchi funksiyalar
Do'stlaringiz bilan baham: |