Migrations | Entity Framework Tutorial | Dotnet

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ก.ย. 2024
  • Bu videomuzda Entity Framework Core kullanarak, C# kodlarımızdaki modellerimizin veritabanında nasıl oluşturulacağından ve nasıl geri alınacağından bahsettim. Migrations kavramını detayları ile incelediğimiz bu videoda, CodeFirst yaklaşımını kullanarak Migrations'ların ne olduğundan da bahsettim.
    In this video, I talked about how to create and retrieve models from our C# codes into the database using Entity Framework Core. In this video, where we examine the concept of migrations, why I need migrations using the CodeFirst approach.
    docs.microsoft...
    www.entityfram...
    #blazor #webassembly #blazortutorial
    #blazor #docker #dotnet
    Kanala Abone Olmayı Unutmayın!
    To Subscribe: bit.ly/3kvj2vw
    Github: github.com/sal...

ความคิดเห็น • 17

  •  3 ปีที่แล้ว +6

    >>>dotnet ef migrations add "MigrationName>Could not execute because the specified command or file was not found.

  • @onurinci905
    @onurinci905 3 ปีที่แล้ว +1

    Süpersin, çok değerli bir video. Eline sağlık 🙏👍👍👍

  • @f3rro_685
    @f3rro_685 2 ปีที่แล้ว

    Cok yardımcı oldu more than one dbcontext hatası alan arkadaşlar şöyle bir komut kullanabilirsiniz
    - dotnet ef migrations add --context YourDbContextName
    . (iki tire context dbcontext adı şeklinde)

  • @Korucuoglu16
    @Korucuoglu16 2 ปีที่แล้ว +1

    Çok değerli bir eğitim, Teşekkürler Salih Hocam.
    Migration yaparken var olan veritabanı üzerinde değişiklik yapacağım sırada mutlaka hata alıyorum. Örnek olarak .Net Core Identitiy kütüphanesiyle çalıştığım projelerde Migration yaparken sürekli olarak "There is already an object named 'AspNetUsers' in the database" hatasını almaktayım. Bu hatalardan kurtulmanın yolu veritabanını silmek ve yeniden oluşturmak. Fakat bu seferde veriler de siliniyor.
    Açıkçası Github'da olduğu gibi migration yaparken "database update --force" gibi bir komut olsa güzel olurdu :)

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว

      Bunun için boş bir tane migration yaratıp o şekilde db yi update etmek gerekiyor.
      Add-Migration InitialCreate -IgnoreChanges -> bu komutu çalıştırınca boş bir migration oluşturacak
      Update-Database -> bunu çalıştırınca da senkronizasyonu sağlaması gerekir.
      docs.microsoft.com/en-us/ef/ef6/modeling/code-first/migrations/existing-database

  • @ferhatkarabulut6470
    @ferhatkarabulut6470 ปีที่แล้ว +1

    Salih hocam CodeFirst migrationı Docker üzerinde nasıl yapabiliriz?

    • @TechBuddyTR
      @TechBuddyTR  ปีที่แล้ว

      app docker üzerindeyken mi yoksa veritabanı docker üzerindeyken mi?
      DbContext içerisindeki extension metodları kullanabiliriz. EnsureCreated(), Migrate() vs gibi metodları uygulama açılırken çağırarak migration'ların veritabanına işlenmesini sağlayabiliriz

    • @ferhatkarabulut6470
      @ferhatkarabulut6470 ปีที่แล้ว

      @@TechBuddyTR Hocam ikisi de docker üzerindeyken. Burada ben sorunumu çözdüm. Sıkıntı app ayağa kalktığında daha veritabanının kurulumu ve konfigürasyonu daha bitmeden Migrate etmeye çalışmasından kaynaklanıyor. Baktığımda insanlar genelde app ve db hazır olunca bu migrationı elle çalıştırıyorlar. Sadece bu mikro service mimarilerinde code-first nasıl yönetiliyor onu merak ediyorum.

  • @eminucar1
    @eminucar1 2 ปีที่แล้ว +1

    Hocam emeğinize sağlık.
    Migrationları geliştirme ortamlarımızda elimizde terminal, visual studio varken yaptıktan sonra diğer UAT, PROD gibi ortamlarda nasıl uygulayabiliyoruz?

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +2

      Migration'ların oluşturulması işlemini mutlaka localde terminalden yapmak lazım. Zaten kodlarda değişiklik olduğu için migration ekliyoruz. Bu migration'ların uygulanması işlemini ise uygulama ayağa kalkarken context.Database.Migrate() metodunu çağırarak yapabiliriz. Uygulama ayağa kalkarken gidip yapılmamış migration var mı yok mu diye kontrol eder, yoksa uygular.

    • @eminucar1
      @eminucar1 2 ปีที่แล้ว +1

      @@TechBuddyTR Teşekkürler hocam. Yani şöyle de denebilir mi? manuel yaptığımız "dotnet ef database update" işlemini uygulama ayağa kalkarken context.Database.Migrate() metodu ile yapmış oluyoruz.

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +1

      Evet, tam olarak bu :)

    • @eminucar1
      @eminucar1 2 ปีที่แล้ว +1

      @@TechBuddyTR 👏👏Teşekkürler hocam

    • @subhanramazanov2040
      @subhanramazanov2040 2 ปีที่แล้ว

      @@TechBuddyTR bunu öyrenmem çok guzel oldu teşekkürler.

  •  3 ปีที่แล้ว +1

    Hocam Github'i güncelleyebilir misin?

    • @TechBuddyTR
      @TechBuddyTR  3 ปีที่แล้ว +1

      Şu an güncel olmalı.