Entity Data Model uchta darajadan iborat: konseptual, saqlagich va moslashtirish (mapping). Konseptual darajada dasturda ishlatiladigan element klasslari aniqlanadi. Saqlagich darajasida jadvallar, ustunlar, jadvallar va ma’lumotlar tiplari o‘rtasidagi munosabat aniqlanadi. Mos qo‘yish (mapping) darajasi yuqoridagi ikkita darajani o‘zaro bog‘lovchi komponent bo‘lib, element klass xususiyatlari va jadval ustunlari o‘rtasida moslik o‘rnatiladi.
Natijada biz loyihadagi klasslar orqali DBdagi jadvallar bilan ishlashimiz mumkin.
Ma’lumotlar bazasi bilan bog‘lanish usullari
Entity Framework da DB bilan ishlashda uchta usuldan foydalanish mumkin:
Database first: Entity Framework orqali muayyan DB modeliga mos klasslar to‘plami generatsiya qilinadi;
Model first: dasturchi avvalo ma’lumotlar modelini hosil qiladi, so‘ngra Entity Framework serverda real DBni hosil qiladi;
Code first: dasturchi DBda saqlanishi lozim bo‘lgan ma’lumotlar modelini hosil qiladi. So‘ngra Entity Framework ushbu model asosida DBda mos jadvallarni generatsiya qiladi.
Entity Framework asosida yaratilgan birinchi loyiha. Code First yondashuvchi
Entity Framework bilan ishni boshlashdan avval, VS 2013 da birinchi loyihani yaratishimiz lozim. Buning uchun VS 2013 muhitini ishga tushirib, loyiha turidan Console Applicationni tanlaymiz:
So‘ngra, loyihamizga ma’lumotlarni ifodalovchi yangi klassni qo‘shamiz. Biz yaratayotgan loyiha dastur foydalanuvchilari bilan bog‘liq bo‘lsin. Shuning uchun loyihamizga yangi User klassini hosil qilamiz:
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
Ushbu klass bir nechta avto xususiyatlarni o‘zida saqlaydi. Har bir xususiyat DB dagi jadvalning muayyan ustuniga mos tarzda shakllantirilishi lozim.
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:
So‘ngra, hosil qilingan muloqot oynasidan NuGet-paketlari bilan ishlash uchun "Entity" kalit so‘zini izlash qismiga kiritib, hosil qilingan ro‘yxatdan Entity Framework ni tanlaymiz va o‘rnatamiz:
Loyihamizda Entity Framework paketi o‘rnatilgach, yangi UserContext klassini hosil qilamiz:
using System;
using System.Collections.Generic;
using System.Data.Entity;
namespace FirstEF6App
{
class UserContext : DbContext
{
public UserContext()
: base("DbConnection")
{ }
public DbSet Users { get; set; }
}
}
Dostları ilə paylaş: |