Model Oluşturma

EF modeli, uygulama sınıflarının ve özelliklerinin veritabanı tabloları ve sütunlarına nasıl eşlendiğiyle ilgili ayrıntıları depolar. EF modeli oluşturmanın iki ana yolu vardır:

  • Önce Kod Kullanma: Geliştirici, modeli belirtmek için kod yazar. EF, geliştirici tarafından sağlanan varlık sınıflarını ve ek model yapılandırmasını temel alarak çalışma zamanında modelleri ve eşlemeleri oluşturur.

  • EF Designer'ı kullanma: Geliştirici, EF Designer'ı kullanarak modeli belirtmek için kutular ve çizgiler çizer. Ortaya çıkan model, EDMX uzantılı bir dosyada XML olarak depolanır. Uygulamanın etki alanı nesneleri genellikle kavramsal modelden otomatik olarak oluşturulur.

EF iş akışları

Bu yaklaşımların ikisi de mevcut bir veritabanını hedeflemek veya yeni bir veritabanı oluşturmak için kullanılabilir ve bu da 4 farklı iş akışı ortaya çıkarır. Hangisinin sizin için en uygun olduğunu öğrenin:

Sadece kod yazmak istiyorum... Tasarımcı kullanmak istiyorum...
Yeni bir veritabanı oluşturuyorum Modelinizi kodda tanımlamak ve ardından bir veritabanı oluşturmak için Önce Kod'u kullanın. Modelinizi kutular ve çizgiler kullanarak tanımlamak ve ardından bir veritabanı oluşturmak için Önce Model'i kullanın.
Mevcut bir veritabanına erişmem gerekiyor Mevcut bir veritabanına eşlenen kod tabanlı bir model oluşturmak için Önce Kod'u kullanın. Mevcut bir veritabanına eşlenen kutular ve çizgilerden oluşan bir model oluşturmak için Önce Veritabanı'nı kullanın.

Videoyu izleyin: Hangi EF iş akışını kullanmalıyım?

Bu kısa videoda farklar ve size uygun olanı nasıl bulacağınız açıklanmaktadır.

Sunan: Rowan Miller

Which Workflow ThumbWMV | MP4 | WMV (ZIP)

Videoyu izledikten sonra EF Designer'ı mı yoksa Önce Kod'u mu kullanmak istediğinize karar vermekte hala zorlanıyorsanız, ikisini de öğrenin!

Arka planda görünüm

Önce Kod veya EF Designer kullanmanızdan bağımsız olarak EF modelinin her zaman birkaç bileşeni vardır:

  • Uygulamanın etki alanı nesneleri veya varlık türlerinin kendileri. Bu, genellikle nesne katmanı olarak adlandırılır

  • Varlık Veri Modeli kullanılarak betimlenen, etki alanına özgü varlık türleri ve ilişkilerden oluşan bir kavramsal model. Bu katman genellikle kavramsal (conceptual) anlamında "C" harfiyle adlandırılır.

  • Veritabanında tanımlanan tabloları, sütunları ve ilişkileri temsil eden bir depolama modeli. Bu katman genellikle depolama (storage) anlamında "S" harfiyle adlandırılır.

  • Kavramsal model ile veritabanı şeması arasında bir eşleme. Bu eşleme genellikle "C-S" eşlemesi olarak adlandırılır.

EF'nin eşleme altyapısı; varlıklarda yapılan oluşturma, okuma, güncelleştirme ve silme gibi işlemleri veritabanındaki tablolara göre eşdeğer işlemlere dönüştürmek için "C-S" eşlemesini kullanır.

Kavramsal model ile uygulamanın nesneleri arasındaki eşleme genellikle "O-C" eşlemesi olarak adlandırılır. "C-S" eşlemesi ile karşılaştırıldığında, "O-C" eşlemesi örtük ve bire birdir: .NET nesnelerinin şekilleri ve türleriyle eşleşecek kavramsal modelde tanımlanmış varlıklar, özellikler ve ilişkiler gereklidir. EF4 ve sonrasında nesneler katmanı, EF'ye bağımlılığı olmayan özelliklere sahip basit nesnelerden oluşabilir. Bunlar genellikle Plain-Old CLR Nesneleri (POCO) olarak adlandırılır ve türlerin ve özelliklerin eşlenmesi ad eşleştirme kurallarına göre gerçekleştirilir. Daha önce EF 3.5'te, nesne katmanı için varlıkların EntityObject sınıfından türetilmesi ve "O-C" eşlemesini uygulamak için EF özniteliklerinin taşınması zorunluluğu gibi belirli kısıtlamalar vardı.