Aracılığıyla paylaş


İzlenecek yol: Tek tablo devralma kullanarak LINQ to SQL sınıfları oluşturma (O/R Tasarım Aracı)

Visual Studio'daki LINQ to SQL araçları, genellikle ilişkisel sistemlerde uygulandığından tek tablo devralmayı destekler. Bu izlenecek yol, Nasıl yapılır: O/R Tasarım Aracı kullanarak devralmayı yapılandırma konusunda sağlanan genel adımları temel alır ve O/R Tasarım Aracı devralma kullanımını göstermek için bazı gerçek veriler sağlar.

Bu izlenecek yol sırasında aşağıdaki görevleri gerçekleştirirsiniz:

  • Bir veritabanı tablosu oluşturun ve bu tabloya veri ekleyin.

  • Bir Windows Forms uygulaması oluşturun.

  • Projeye SQL dosyasına LINQ ekleyin.

  • Yeni varlık sınıfları oluşturun.

  • Varlık sınıflarını devralmayı kullanacak şekilde yapılandırın.

  • Devralınan sınıfı sorgula.

  • Verileri Bir Windows Formunda görüntüleme.

Devralınacak tablo oluşturma

Devralma işleminin nasıl çalıştığını görmek için küçük Person bir tablo oluşturur, temel sınıf olarak kullanır ve sonra ondan devralan bir Employee nesne oluşturursunuz.

Devralmayı göstermek için temel tablo oluşturmak için

  1. Sunucu Gezgini'nde veya Veritabanı Gezgini'nde Tablolar düğümüne sağ tıklayın ve Yeni Tablo Ekle'ye tıklayın.

    Not

    Northwind veritabanını veya tablo ekleyebileceğiniz başka bir veritabanını kullanabilirsiniz.

  2. Tablo Tasarım Aracı aşağıdaki sütunları tabloya ekleyin:

    Sütun Adı Veri Türü Null'lara İzin Ver
    Kimlik int False
    Tür int True
    FirstName nvarchar(200) False
    LastName nvarchar(200) False
    Yönetici int True
  3. Kimlik sütununu birincil anahtar olarak ayarlayın.

  4. Tabloyu kaydedin ve Kişi olarak adlandırın.

Tabloya veri ekleme

Devralma işleminin doğru yapılandırıldığını doğrulayabilmeniz için, tablonun tek tablo devralmadaki her sınıf için bazı verilere ihtiyacı vardır.

Tabloya veri eklemek için

  1. Tabloyu veri görünümünde açın. (Sağ tıklayın Sunucu Gezgini'nde veya Veritabanı Gezgini'nde kişi tablosu ve Tablo Verilerini Göster'e tıklayın.)

  2. Aşağıdaki verileri tabloya kopyalayın. (Kopyalayıp tabloya yapıştırmak içinSonuçlar Bölmesi.)

    Kimlik Tür FirstName LastName Yönetici
    1 1 Anne Wallace NULL
    2 1 Carlos Grilo NULL
    3 1 Yael Peled NULL
    4 2 Gatis Ozolinler 1
    5 2 Andreas Hauser 1
    6 2 Tiffany Phuvasate 1
    7 2 Alexey Orekhov 2
    8 2 Michał Poliszkiewicz 2
    9 2 Tai Yee 2
    10 2 Fabricio Noriega 3
    11 2 Mindy Martin 3
    12 2 Ken Kwok 3

Yeni proje oluşturma

Tabloyu oluşturduğunuza göre, devralmayı yapılandırmayı göstermek için yeni bir proje oluşturun.

Yeni Windows Forms uygulamasını oluşturmak için

  1. Visual Studio'da, Dosya menüsünde Yeni Proje'yi> seçin.

  2. Sol bölmede Visual C# veya Visual Basic'i genişletin, ardından Windows Masaüstü'nü seçin.

  3. Orta bölmede Windows Forms Uygulaması proje türünü seçin.

  4. Projeye InheritanceWalkthrough adını verin ve Tamam'ı seçin.

    InheritanceWalkthrough projesi oluşturulur ve Çözüm Gezgini eklenir.

Projeye SQL sınıflarına LINQ dosyası ekleme

Projeye SQL dosyasına LINQ eklemek için

  1. Proje menüsünde Yeni Öğe Ekle'ye tıklayın.

  2. LINQ to SQL Sınıfları şablonuna ve ardından Ekle'ye tıklayın.

    Dosya .dbml projeye eklenir ve O/R Tasarım Aracı açılır.

O/R Tasarım Aracı kullanarak devralmayı oluşturma

Devralma nesnesini Araç Kutusu'ndantasarım yüzeyine sürükleyerek devralmayı yapılandırın.

Devralmayı oluşturmak için

  1. Sunucu Gezgini'nde veya Veritabanı Gezgini'nde, daha önce oluşturduğunuz Kişi tablosuna gidin.

  2. Kişi tablosunu O/R Tasarım Aracı tasarım yüzeyine sürükleyin.

  3. İkinci bir Kişi tablosunu O/R Tasarım Aracı sürükleyin ve adını Çalışan olarak değiştirin.

  4. Person nesnesinden Manager özelliğini silin.

  5. Employee nesnesinden Type, ID, FirstName ve LastName özelliklerini silin. (Başka bir deyişle, Yönetici.)

  6. Araç Kutusu'nun Nesne İlişkisel Tasarımcısı sekmesinden, Kişi ve Çalışan nesneleri arasında bir Devralma oluşturun. Bunu yapmak için Araç Kutusu'ndakiDevralma öğesine tıklayın ve fare düğmesini bırakın. Ardından, Çalışan nesnesine ve ardından O/R Tasarım Aracı Person nesnesine tıklayın. Devralma satırındaki ok, Person nesnesini gösterir.

  7. Tasarım yüzeyinde Devralma çizgisine tıklayın.

  8. Discriminator Özelliği özelliğini Tür olarak ayarlayın.

  9. Türetilmiş Sınıf Ayrıştırıcısı Değeri özelliğini 2 olarak ayarlayın.

  10. Temel Sınıf Ayrıştırıcı Değeri özelliğini 1 olarak ayarlayın.

  11. Devralma Varsayılan özelliğini Kişi olarak ayarlayın.

  12. Projeyi derleyin.

Devralınan sınıfı sorgulama ve formda verileri görüntüleme

Şimdi forma nesne modelindeki belirli bir sınıfı sorgulayan bazı kodlar ekleyebilirsiniz.

LINQ sorgusu oluşturmak ve sonuçları formda görüntülemek için

  1. ListBox'i Form1'e sürükleyin.

  2. Olay işleyicisi oluşturmak Form1_Load için forma çift tıklayın.

  3. Olay işleyicisine Form1_Load aşağıdaki kodu ekleyin:

    NorthwindDataContext dc = new DataClasses1DataContext();
    var results = from emp in dc.Persons
                  where emp is Employee
                  select emp;
    
    foreach(Employee Emp in results)
    {
        listBox1.Items.Add(Emp.LastName)
    }
    

Uygulamayı test etme

Uygulamayı çalıştırın ve liste kutusunda görüntülenen kayıtların tüm çalışanlar (Tür sütununda değeri 2 olan kayıtlar) olduğunu doğrulayın.

Uygulamayı test etmek için

  1. F5 tuşuna basın.

  2. Yalnızca Tür sütununda 2 değerine sahip kayıtların görüntülendiğini doğrulayın.

  3. Formu kapatın. (Hata ayıklama menüsü, Hata Ayıklamayı Durdur'a tıklayın.)