EntityFramework Core ile Çoklu Veritabanı Uygulama ve Migration İşlemleri

Merhabalar, bugünkü yazımda ef core ile bir projede postgresql, sql server ve sqllite gibi birden çok provider’ın ef core içinde nasıl eklenebileceğini yöneteceğiz.

Birden çok context ve veritabanı ayarlaması

Visual studio 2022 ile .net 7.0 web api projesi olarak açıyorum.

Domaine Entites adında klasör açıp, iki tane Entity oluşturuyorum User ve Book olarak.

User ve Book Entityleri:

Data katmanı içine UserContext ve BookContext ekliyoruz.

UserContext SqlServer üzerinde BookContext ise Postgresql veritabanı kullanılacak.

User entitysi için bir optional configuration:

Çoklu Veritabanı Ayarlama

Postgresql için Npgsql provider’ını kullanacağız. Api katmanında yazdığımız Contextleri ayarlarıyla kaydedeceğiz. Önce appSettings.json‘a connection string bilgilerini girelim.

Program.cs:

Migrationları oluşturma

Projenin kök dizininden powershell ile migrationları oluşturacağız. Oluşturmadan önce kullanacağımız ifadelerin açıklamasını yapalım

–project: Migrationların saklandığı proje
–output-dir: Migrationların oluşacağı klasör yolur
–context : İlgili context
–startup-project: Contextlerin register olduğu proje

UserContext migrationı:

BookContext migrationı

Çalıştırdığımızda Data katmanı içinde aşağıdaki şekilde migrationlar oluşacaktır:

Migrationları Veritabanına Geçirme:

Bunun için iki yol var. İlki update-database ile diğeri uygulama ayağa kalkarken sağlamak.

1.Update-Database ile

2.Runtime anında

Örnek bir insert işlemi:

Proje Github linki: okankrdg/EfCoreMultipleProvider (github.com)

Bir sonraki yazıda görüşmek üzere, sevgilerle

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Turkish