Dasturiy injiniring nazariy savollarga javoblar
Ma’lumotlar bazasidan shart asosida tanlash va proeksiya
Download 33.78 Kb.
|
Dasturiy injiniring nazariy savollarga Javoblar tayyor
- Bu sahifa navigatsiya:
- Linq First()/FirstOrDefault()
- Select
Ma’lumotlar bazasidan shart asosida tanlash va proeksiya
DBdan shart asosida tanlash uchun Where metodidan foydalanish lozim. DBda ishlab chiqarilgan tashkiloti "Samsung" bo‘lgan barcha telefonlarni aniqlash lozim bo‘lsin: using (PhoneContext db = new PhoneContext()) { var phones = db.Phones.Where(p => p.Company.Name == "Samsung"); foreach (Phone p in phones) Console.WriteLine("{0}.{1} - {2}", p.Id, p.Name, p.Price); } 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: 16-savol Entity frameworkda LINQ. farq Farq Agar birinchi to‘plamdan ikkinchi to‘plamda mavjud bo‘lmagan elementlarni aniqlashimiz lozim bo‘lsa, Except metodidan foydalanamiz: using (PhoneContext db = new PhoneContext()) { var selector1 = db.Phones.Where(p => p.Price > 25000); // Samsung Galaxy S4, Samsung Galaxy S4, iPhone S4 var selector2 = db.Phones.Where(p => p.Name.Contains("Samsung")); // Samsung Galaxy S4, Samsung Galaxy S4 var phones = selector1.Except(selector2); // natija - iPhone S4 foreach (var item in phones) Console.WriteLine(item.Name); } Yo’ldoshev va Abdijabborov Dilshod Download 33.78 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling