Merhabalar, Bu yazımda .Net Core 2.2 üzerinde Postgresql kurulumu ve kullanımını anlatacağım.
Başlamadan önce cihazınızda .Net Core 2.2 ve Postgresql’in (11.2) yüklü olduğunu varsayıyorum. Ayrıca Postgresql yönetimi için pgAdmin kullanılmıştır. Cihazınızda bu gereksinimler yüklü değil ise;
.NET CORE İndirmek için tıklayınız.
Postgresql İndirmek için tıklayınız.
pgAdmin İndirmek için tıklayınız
Cihazınıza Postgresql’i kurduktan sonra yönetmek için pgAdmin aracını kurabilirsiniz. pgAdmin, Postgresql için yönetim paneli aracıdır. Ayrıca komut satırı ile uğraşmaktansa UI kontrolleri daha hızlı ve kolay olabilir.
Postgresql konusunda yeni iseniz veya pgAdmin kullanarak nasıl yeni server oluşturulur? pgAdmin kullanarak nasıl yeni veri tabanı oluşturulur? öğrenmek isterseniz şu yazımı okuyabilirsiniz.
:: Postgresql, PgAdmin Kullanarak Yeni Server ve Veritabanı Oluşturma
ASP.NET Core ile Postgresql kullanmak oldukça kolay. İlk önce uygulamanıza Postgresql nuget paketini eklemelisiniz. Yüklemeniz gereken paketler:
- Npgsql.EntityFrameworkCore.PostgreSQL
- Npgsql.EntityFrameworkCore.PostgreSQL.Design
Paketleri projenize yükledikten sonra oluşturmuş olduğunuz veri tabanı bilgilerini (connection string) appsettings.json dosyasına kayıt edin.
"ConnectionStrings": {
"ConnectionStringsPostgresql": "Server=localhost;Port=5432;Database=VeriTabanıIsminiz;Username=postgres;Password=Şifreniz;"
}
Veri tabanı erişim bilgilerini kayıt ettikten sonra Startup.cs dosyamızın ConfigureServices methoduna aşağıdaki kod satırlarını eklememiz gerekiyor.
// ApiDatabaseContext -> Veri tabanı bağlantısını ve tabloları içeren context classınız
services.AddDbContext<ApiDatabaseContext>(options =>
options.UseNpgsql(
Configuration.GetConnectionString("ConnectionStringsPostgresql"),
b => b.MigrationsAssembly("Buraya projenizin namespace ismini giriniz")
)
);
Not : Daha önce ASP.NET Core 2 projenize Postgresql eklediyseniz ancak migrations yaparken aşağıdaki gibi bir hata alıyorsanız yukarıdaki kodda yer alan MigrationsAssembly kısmını projenize dahil etmeniz gerekmektedir.
Your target project 'TTISApi' doesn't match your migrations assembly 'DataAccess'. Either change your target project or change your migrations assembly.
Change your migrations assembly by using DbContextOptionsBuilder. E.g. options.UseSqlServer(connection, b => b.MigrationsAssembly("TTISApi")). By default, the migrations assembly is the assembly containing the DbContext.
Change your target project to the migrations project by using the Package Manager Console's Default project drop-down list, or by executing "dotnet ef" from the directory containing the migrations project.
ASP.NET CORE 2 Porojesine Postgresql eklemek bu kadar basit. Son olarak migrations işlemlerini yaparak veri tabanı tablolarınızı oluşturabilirsiniz.