Entity Framework 6


CreateDatabaseIfNotExists



Yüklə 1,54 Mb.
səhifə25/54
tarix17.06.2023
ölçüsü1,54 Mb.
#132013
1   ...   21   22   23   24   25   26   27   28   ...   54
EntityFramework(6,u) uzb

CreateDatabaseIfNotExists: boshlang‘ich holda ishlatiladigan initsializator. U DBdagi ma’lumotlarni avtomatik o‘chirmaydi. Agar model va ma’lumotlar kontekstini tuzilmasi o‘zgartirilgan vaqtda xatolikni qaytaradi.

  • DropCreateDatabaseWhenModelChanges: ushbu initsializator model va DB jadvallari mosligini aniqlaydi. Agar modelda jadvalga moslik mavjud bo‘lmasa, DB qayta yaratiladi.

  • DropCreateDatabaseAlways: Ushbu initsializator orqali DBst qayta shakllantiriladi.

    Ushbu initsializatorlarning biridan foydalanish lozim. Buning uchun bizga Seed metodi xizmat qiladi:



    1. Phones.cs

    using System.Data.Entity;

    namespace Init


    {
    class Phone
    {
    public int Id { get; set; }
    public string Name { get; set; }
    public int Price { get; set; }
    }
    }



    1. MobileContext.cs

    using System.Data.Entity;

    namespace Init


    {
    class MobileContext : DbContext
    {
    static MobileContext()
    {
    Database.SetInitializer(new MyContextInitializer());
    }

    public MobileContext()


    : base("DefaultConnection")
    { }
    public DbSet Phones { get; set; }
    }
    }



    1. MyContextInitializer.cs

    using System.Data.Entity;

    namespace Init


    {
    class MyContextInitializer : DropCreateDatabaseAlways
    {
    protected override void Seed(MobileContext db)
    {
    Phone p1 = new Phone { Name = "Samsung Galaxy S5", Price = 14000 };
    Phone p2 = new Phone { Name = "Nokia Lumia 630", Price = 8000 };

    db.Phones.Add(p1);


    db.Phones.Add(p2);
    db.SaveChanges();
    }
    }

    }




    1. Yüklə 1,54 Mb.

      Dostları ilə paylaş:
  • 1   ...   21   22   23   24   25   26   27   28   ...   54




    Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2025
    rəhbərliyinə müraciət

    gir | qeydiyyatdan keç
        Ana səhifə


    yükləyin