ORM ve Entity Framework Nedir?

ORM

İlişkisel veri tabanındaki bir tabloyu uygulama tarafındaki bir object ile ilişkilendiren bir yapıdır.

Entity Framework

.Net uygulamalarında kullanılan bir ORM türüdür.

EF yi uygulamamıza dahil ettikten sonra, EF hangi database türü (MSSQL, MySQL, SQLite, Oracle) ile çalışacaksa o database türünü anlayacak ve iletişimimizi sağlayacak bir provider ı da uygulamaya kurmak gerekir. EF ile çalışırken database e direk müdahalede bulunmamıza gerek yok. EF ile uygulama üzerinden gerekli sql işlemlerini yapabiliriz. O yüzden database türü önemli değildir.

EF, de veri tabanı yönetimi LINQ sorguları ile yapılır. LINQ sorguları database e iletilmeden EF Core tarafından SQL koduna dönüştürülür.

Context class ındaki bir liste, database deki aynı isimde bulunan bir tablo ile map edilir (eşleştirilir). Örneğin; DbSet Student {get; set;} (List) <-----> Student (Table)

Code Firts

EF Core da yazdığımız bir connection string (veritabanı bağlantısı) yapıldığı zaman verilen adreste bir database yok ise bu durumda o adreste database kendi başına oluşur. Context listesinde oluşturulan list ler tarafından database ve tabloların otomatik olarak oluşturulmasıdır.

Database Firts

EF Core da yazdığımız bir connection string (veritabanı bağlantısı) yapıldığı zaman verilen adreste bir database in olması ve o database in kullanılmaya başlanmasıdır.

Provider (Driver)

Bir database serverına bir uygulama üzerinden bağlanmak için kullanılan yapıya denir.

Context (Context Class)

Entity Framework ile kullanılan Context, veri tabanı işlemlerinin yürütüldüğü class tır. DbContext class ından türetilir. Context class ı içierisinde DbSet<> türünde list tanımlamaları yapılır.

Entity Framework uygulamasının çalışması için;

  • Bir providerın yüklü olamsı gerekmektedir.

  • Dotnet-ef nin kurulu olması gerekmektedir.

  • Microsoft.EntityFrameworkCore.Design kütüphenesinin kurulu olması gerekmektedir.

Migrations oluşturmak için;

  • dotnet ef migrations add MigtareAdı

Veri tabanı oluşturmak için (Bekleyen tüm Migration ları uygulamak için);

  • dotnet ef database update

Last updated