Entity Framework da Code First yondashuv asosida ish ko‘rilganda, DB jadvalining birlamchi kalitini ko‘rsatishni talab qiladi. DB generatsiya qilinayotganda Entity Framework birlamchi kalit sifatida Id yoki [Klass_nomi]Id kabi formatdagi xususiyatlarni tushunadi. Bizning misolda ushbu turdagi xususiyat Id hisoblanadi. Agar biz kalitni boshqa ustun deb ko‘rsatmoqchi bo‘lsak, C# tilida qo‘shimcha mantiqni tashkil qilishimiz lozim.
Endi DB bilan ishlash uchun ma’lumotlar kontekstidan foydalanamiz. Ma’lumotlar konteksti DB va loyiha klasslari o‘rtasidagi vositachi hisoblanadi. Bizning loyihada Entity Framework uchun biblioteka qo‘shib qo‘yilmagan. Entity Framework bibliotekasini qo‘shish uchun loyiha nomiga sichqonchaning o‘ng tugmasini bosib, menyudan Manage NuGet Packages... qismni tanlash lozim:
Birinchi bo‘limda Entity Framework ga asoslangan birinchi dasturda biz Code First yondashuvdan foydalandik. Ushbu yondashuv juda oddiy, qulay va moslashuvchan hisoblanadi. Ko‘p hollarda loyiha yaratilayotgan vaqtda DB mavjud bo‘ladi. Ushbu holda ham Code First yondashuvdan foydalanish mumkin. Ba’zi dasturchilar ushbu yondashuvni Code Second deb yuritishadi.
14-savol Entity Frameworkda LINQ. Ma’lumotlar bazasida shart asosida tanlash va proeksiya
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);
}
Do'stlaringiz bilan baham: |