Sabit Listesi Desteği - EF Tasarım Aracı

Dekont

YALNıZCA EF5'e Doğru - Bu sayfada ele alınan özellikler, API'ler vb. Entity Framework 5'te sunulmuştur. Önceki bir sürümü kullanıyorsanız, bilgilerin bir kısmı veya tümü geçerli değildir.

Bu video ve adım adım izlenecek yol, Entity Framework Tasarım Aracı ile numaralandırma türlerinin nasıl kullanılacağını gösterir. Ayrıca bir LINQ sorgusunda numaralandırmaların nasıl kullanılacağını da gösterir.

Bu izlenecek yol, yeni bir veritabanı oluşturmak için Model First'i kullanır, ancak EF Tasarım Aracı var olan bir veritabanıyla eşlemek için Önce Veritabanı iş akışıyla da kullanılabilir.

Numaralandırma desteği Entity Framework 5'te kullanıma sunulmuştur. Sabit listeleri, uzamsal veri türleri ve tablo değerli işlevler gibi yeni özellikleri kullanmak için .NET Framework 4.5'i hedeflemeniz gerekir. Visual Studio 2012 varsayılan olarak .NET 4.5'i hedefler.

Entity Framework'te bir numaralandırma aşağıdaki temel türlere sahip olabilir: Byte, Int16, Int32, Int64 veya SByte.

Videoyu İzleyin

Bu videoda, Entity Framework Tasarım Aracı ile numaralandırma türlerinin nasıl kullanılacağı gösterilmektedir. Ayrıca bir LINQ sorgusunda numaralandırmaların nasıl kullanılacağını da gösterir.

Sunan: Julia Kornich

Video: WMV | MP4 | WMV (ZIP)

Önkoşullar

Bu kılavuzu tamamlamak için Visual Studio 2012, Ultimate, Premium, Professional veya Web Express sürümünün yüklü olması gerekir.

Projeyi ayarlama

  1. Visual Studio 2012'i açma
  2. Dosya menüsünde Yeni'nin üzerine gelin ve Proje'ye tıklayın
  3. Sol bölmede Visual C# öğesine tıklayın ve konsol şablonunu seçin
  4. Projenin adı olarak EnumEF Tasarım Aracı girin ve Tamam'a tıklayın

EF Tasarım Aracı kullanarak Yeni Model Oluşturma

  1. Çözüm Gezgini'de proje adına sağ tıklayın, Ekle'nin üzerine gelin ve Yeni Öğe'ye tıklayın
  2. Soldaki menüden Veri'yi seçin ve ardından Şablonlar bölmesinde Varlık Veri Modeli'ni ADO.NET seçin
  3. Dosya adı olarak EnumTestModel.edmx yazın ve Ekle'ye tıklayın
  4. Varlık Veri Modeli Sihirbazı sayfasında, Model İçeriği Seç iletişim kutusunda Boş Model'i seçin
  5. Son’a tıklayın

Modelinizi düzenlemek için bir tasarım yüzeyi sağlayan Entity Tasarım Aracı görüntülenir.

Sihirbaz aşağıdaki eylemleri gerçekleştirir:

  • Kavramsal modeli, depolama modelini ve aralarındaki eşlemeyi tanımlayan EnumTestModel.edmx dosyasını oluşturur. Oluşturulan meta veri dosyalarının derlemeye eklenmesi için .edmx dosyasının Meta Veri Yapıt İşleme özelliğini Çıktı Derlemesine Ekle olarak ayarlar.
  • Aşağıdaki derlemelere bir başvuru ekler: EntityFramework, System.ComponentModel.DataAnnotations ve System.Data.Entity.
  • EnumTestModel.tt ve EnumTestModel.Context.tt dosyaları oluşturur ve bunları .edmx dosyasının altına ekler. Bu T4 şablon dosyaları, .edmx modelindeki varlıklarla eşlenen DbContext türetilmiş türünü ve POCO türlerini tanımlayan kodu oluşturur.

Yeni Varlık Türü Ekleme

  1. Tasarım yüzeyinin boş bir alanına sağ tıklayın, Ekle -> Varlık'ı seçin, Yeni Varlık iletişim kutusu görüntülenir
  2. Tür adı için Department belirtin ve anahtar özellik adı için DepartmentID değerini belirtin, türü Int32 olarak bırakın
  3. Tamam’a tıklayın.
  4. Varlığa sağ tıklayın ve Yeni Ekle -> Skaler Özellik'i seçin
  5. Yeni özelliği Ad olarak yeniden adlandırın
  6. Yeni özelliğin türünü Int32 olarak değiştirin (varsayılan olarak, yeni özellik Dize türündedir) Türü değiştirmek için Özellikler penceresi açın ve Type özelliğini Int32 olarak değiştirin
  7. Başka bir skaler özellik ekleyin ve Bütçe olarak yeniden adlandırın, türü Ondalık olarak değiştirin

Sabit Listesi Türü Ekleme

  1. Entity Framework Tasarım Aracı Ad özelliğine sağ tıklayın, Numaralandırmaya dönüştür'ü seçin

    Convert To Enum

  2. Numaralandırma Ekle iletişim kutusuna Enum Türü Adı için DepartmentNames yazın, Temel Türü Int32 olarak değiştirin ve aşağıdaki üyeleri türe ekleyin: İngilizce, Matematik ve Ekonomi

    Add Enum Type

  3. Tamam'a basın

  4. Modeli kaydetme ve projeyi oluşturma

    Dekont

    Oluşturduğunuzda, eşlenmemiş varlıklar ve ilişkilendirmeler hakkındaki uyarılar Hata Listesi'nde görünebilir. Bu uyarıları yoksayabilirsiniz çünkü modelden veritabanı oluşturmayı seçtikten sonra hatalar gider.

Özellikler penceresi bakarsanız Name özelliğinin türünün DepartmentNames olarak değiştirildiğini ve yeni eklenen sabit listesi türünün tür listesine eklendiğini fark edeceksiniz.

Model Tarayıcısı penceresine geçerseniz, türün Enum Türleri düğümüne de eklendiğini görürsünüz.

Model Browser

Dekont

Ayrıca, sağ fare düğmesine tıklayıp Numaralandırma Türü Ekle'yi seçerek bu pencereden yeni numaralandırma türleri ekleyebilirsiniz. Tür oluşturulduktan sonra türler listesinde görünür ve bir özellik ile ilişkilendirebilirsiniz

Modelden Veritabanı Oluşturma

Artık modeli temel alan bir veritabanı oluşturabiliriz.

  1. Varlık Tasarım Aracı yüzeyinde boş bir alana sağ tıklayın ve Modelden Veritabanı Oluştur'a tıklayın
  2. Veritabanı Oluşturma Sihirbazı'nın Veri Bağlan Seçin İletişim Kutusu görüntüleniyor Sunucu adı için Yeni Bağlan ion düğmesini Belirtin (localdb)\mssqllocaldb ve veritabanı için EnumTest öğesine tıklayın ve Tamam'a tıklayın
  3. Yeni veritabanı oluşturmak isteyip istemediğinizi soran bir iletişim kutusu açılır ve Evet'e tıklayın.
  4. İleri'ye tıklayın ve Veritabanı Oluşturma Sihirbazı veritabanı oluşturmak için veri tanımı dili (DDL) oluşturur Oluşturulan DDL Özet ve Ayarlar İletişim Kutusu Notunda görüntülenir; DDL,numaralandırma türüne eşlenen bir tablo için tanım içermez
  5. Son'a tıklayın Son'a tıklanması DDL betiğini yürütmez.
  6. Veritabanı Oluşturma Sihirbazı şunları yapar: EnumTest.edmx.sql dosyasını T-SQL Düzenleyicisi'nde açar EDMX dosyasının depo şemasını ve eşleme bölümlerini oluşturur App.config dosyasına bağlantı dizesi bilgi ekler
  7. T-SQL Düzenleyicisi'nde sağ fare düğmesine tıklayın ve Sunucuya Bağlan Yürüt iletişim kutusu görüntülenir'i seçin, 2. adımdaki bağlantı bilgilerini girin ve Bağlan
  8. Oluşturulan şemayı görüntülemek için SQL Server Nesne Gezgini veritabanı adına sağ tıklayın ve Yenile'yi seçin

Verileri Kalıcı Hale Getir ve Al

Main yönteminin tanımlandığı Program.cs dosyasını açın. Main işlevine aşağıdaki kodu ekleyin. Kod, bağlama yeni bir Department nesnesi ekler. Ardından verileri kaydeder. Kod ayrıca adı DepartmentNames.English olan bir Departman döndüren bir LINQ sorgusu yürütür.

using (var context = new EnumTestModelContainer())
{
    context.Departments.Add(new Department{ Name = DepartmentNames.English });

    context.SaveChanges();

    var department = (from d in context.Departments
                        where d.Name == DepartmentNames.English
                        select d).FirstOrDefault();

    Console.WriteLine(
        "DepartmentID: {0} and Name: {1}",
        department.DepartmentID,  
        department.Name);
}

Uygulamayı derleyin ve çalıştırın. Program aşağıdaki çıkışı oluşturur:

DepartmentID: 1 Name: English

Veritabanındaki verileri görüntülemek için SQL Server Nesne Gezgini'da veritabanı adına sağ tıklayın ve Yenile'yi seçin. Ardından, tablodaki sağ fare düğmesine tıklayın ve Verileri Görüntüle'yi seçin.

Özet

Bu kılavuzda, Entity Framework Tasarım Aracı kullanarak numaralandırma türlerini eşlemeyi ve kodda sabit listelerini kullanmayı inceledik.