Entity Framework - Genel Bakış

Entity Framework nedir?

Entity Framework, Microsoft'un .NET uygulamaları ve ilişkisel veritabanları arasındaki birincil etkileşim aracı olan 2008'de ilk kez piyasaya sürüldü. Entity Framework, yazılımınızdaki nesneler arasında ilişkisel bir veritabanının tabloları ve sütunlarıyla eşleştirmeyi basitleştiren bir araç türü olan bir Nesne İlişkisel Eşleştiricidir (ORM).

  • Entity Framework (EF), .NET Framework'ün bir parçası olan ADO.NET için açık kaynaklı bir ORM çerçevesidir.

  • Bir ORM, veritabanı bağlantıları oluşturmanın ve komutların çalıştırılmasının yanı sıra sorgu sonuçlarını alarak ve bu sonuçları otomatik olarak uygulama nesneleriniz olarak gerçekleştirmeye özen gösterir.

  • Bir ORM ayrıca bu nesnelerdeki değişiklikleri takip etmeye yardımcı olur ve talimat verildiğinde, bu değişiklikleri sizin için veritabanına geri gönderir.

Neden Entity Framework?

Entity Framework bir ORM'dir ve ORM'ler, uygulamalarda kullanılan veriyi kalıcı kılma görevini azaltarak geliştiricinin verimliliğini artırmayı amaçlamaktadır.

  • Entity Framework, veritabanındaki verileri okumak veya yazmak için gerekli veritabanı komutlarını oluşturabilir ve bunları sizin için çalıştırabilir.

  • Sorguluyorsanız, varlıklara LINQ kullanarak sorgularınızı etki alanı nesnelerinize göre ifade edebilirsiniz.

  • Entity Framework, ilgili sorguyu veritabanında yürütür ve ardından, uygulamanızda çalışmanız için sonuçları etki alanı nesnelerinizin örneklerinde somutlaştırır.

Piyasada NHibernate ve LLBLGen Pro gibi başka ORM'ler de vardır. Çoğu ORM tipik olarak etki alanı türlerini doğrudan veritabanı şemasına eşler.

Entity Framework daha ayrıntılı bir eşleme katmanına sahiptir, böylece örneğin tek varlığı birden çok veritabanı tablosuna veya hatta birden çok varlığı tek bir tabloya eşleyerek eşlemeleri özelleştirebilirsiniz.

  • Entity Framework, Microsoft'un yeni uygulamalar için önerilen veri erişim teknolojisidir.

  • ADO.NET doğrudan veri kümeleri ve veri tabloları teknolojisine başvuruyor gibi görünüyor.

  • Entity Framework, tüm ileriye dönük yatırımların yapıldığı yerdir ve bu, birkaç yıldır zaten böyle olmuştur.

  • Microsoft, tüm yeni geliştirmeler için ADO.NET üzerinden Entity Framework veya LINQ to SQL kullanmanızı önerir.

Kavramsal model

Veritabanı odaklı geliştirmeye alışkın olan geliştiriciler için Entity Framework'teki en büyük değişiklik, iş alanınıza odaklanmanıza izin vermesidir. Uygulamanızın, veritabanının yapabildikleriyle sınırlı kalmadan ne yapmasını istiyorsunuz?

  • Entity Framework ile odak noktası kavramsal model olarak adlandırılır. Bu, uygulamanızdaki nesnelerin bir modelidir, uygulama verilerinizi kalıcı hale getirmek için kullandığınız veritabanının bir modeli değildir.

  • Kavramsal modeliniz veritabanı şemanızla aynı hizada olabilir veya oldukça farklı olabilir.

  • Kavramsal modelinizi tanımlamak için bir Görsel Tasarımcı kullanabilirsiniz, bu da uygulamanızda nihai olarak kullanacağınız sınıfları oluşturabilir.

  • Yalnızca sınıflarınızı tanımlayabilir ve Code First adlı Entity Framework özelliğini kullanabilirsiniz. Ve sonra Entity Framework kavramsal modeli kavrayacaktır.

Her iki durumda da Entity Framework, kavramsal modelinizden veritabanınıza nasıl geçeceğinizi belirler. Böylece kavramsal model nesnelerinize göre sorgulayabilir ve onlarla doğrudan çalışabilirsiniz.

Özellikleri

Entity Framework'ün temel özellikleri aşağıdadır. Bu liste, en dikkate değer özelliklere ve ayrıca Entity Framework hakkında sık sorulan sorulara göre oluşturulur.

  • Entity Framework bir Microsoft aracıdır.
  • Entity Framework, bir Açık Kaynak ürünü olarak geliştirilmektedir.
  • Entity Framework artık .NET yayın döngüsüne bağlı veya bağımlı değildir.
  • Geçerli Entity Framework sağlayıcısına sahip herhangi bir ilişkisel veritabanıyla çalışır.
  • LINQ'dan Varlıklara SQL komut üretimi.
  • Entity Framework, parametreleştirilmiş sorgular oluşturacaktır.
  • Bellek içi nesnelerdeki değişiklikleri izler.
  • Komut oluşturma, ekleme, güncelleme ve silme izni verir.
  • Görsel bir modelle veya kendi sınıflarınızla çalışır.
  • Entity Framework, Prosedür Desteği depolamıştır.