Udostępnij za pośrednictwem


Przewodnik: tworzenie klas LINQ to SQL przy użyciu dziedziczenia z jedną tabelą (O/R Designer)

Narzędzia LINQ to SQL w programie Visual Studio obsługują dziedziczenie z jedną tabelą, ponieważ jest zwykle implementowane w systemach relacyjnych. Ten przewodnik rozszerza ogólne kroki opisane w temacie How to: Configure inheritance by using the O/R Designer (Jak skonfigurować dziedziczenie przy użyciu projektanta języka O/R) i udostępnia kilka rzeczywistych danych, aby zademonstrować użycie dziedziczenia w projektancie O/R.

W tym przewodniku wykonasz następujące zadania:

  • Utwórz tabelę bazy danych i dodaj do niej dane.

  • Tworzenie aplikacji Windows Forms.

  • Dodaj plik LINQ to SQL do projektu.

  • Utwórz nowe klasy jednostek.

  • Skonfiguruj klasy jednostek do używania dziedziczenia.

  • Wykonaj zapytanie względem dziedziczonej klasy.

  • Wyświetlanie danych w formularzu systemu Windows.

Tworzenie tabeli do dziedziczenia z

Aby zobaczyć, jak działa dziedziczenie, należy utworzyć małą Person tabelę, użyć jej jako klasy bazowej, a następnie utworzyć Employee obiekt, który dziedziczy z niej.

Aby utworzyć tabelę podstawową w celu zademonstrowania dziedziczenia

  1. W Eksploratorze serwera lub Eksploratorze bazy danych kliknij prawym przyciskiem myszy węzeł Tabele i kliknij polecenie Dodaj nową tabelę.

    Uwaga

    Możesz użyć bazy danych Northwind lub dowolnej innej bazy danych, do której można dodać tabelę.

  2. W projektancie tabel dodaj następujące kolumny do tabeli:

    Nazwa kolumny Typ danych Zezwalaj na wartości null
    Identyfikator int Fałsz
    Type int Prawda
    FirstName nvarchar(200) Fałsz
    LastName nvarchar(200) Fałsz
    Menedżer int Prawda
  3. Ustaw kolumnę ID jako klucz podstawowy.

  4. Zapisz tabelę i nadaj jej nazwę Person.

Dodaj dane do tabeli

Aby sprawdzić, czy dziedziczenie jest poprawnie skonfigurowane, tabela potrzebuje pewnych danych dla każdej klasy w dziedziczeniu z jedną tabelą.

Aby dodać dane do tabeli

  1. Otwórz tabelę w widoku danych. (Kliknij prawym przyciskiem myszy ikonę Tabela osób w Eksploratorze serwera lub Eksploratorze bazy danych i kliknij pozycję Pokaż dane tabeli.

  2. Skopiuj następujące dane do tabeli. (Możesz skopiować go, a następnie wkleić go do tabeli, wybierając cały wiersz w tabeli Okienko wyników ).

    Identyfikator Type FirstName LastName Menedżer
    1 1 Anne Wallace NULL
    2 1 Carlos Grilo NULL
    3 1 Yael Peled NULL
    4 2 Gatis Ozoliny 1
    5 2 Andreas Hauser 1
    6 2 Tiffany Phuvasate 1
    7 2 Aleksiej Orekhov 2
    8 2 Michał Poliszkiewicz 2
    9 2 Tai Yee 2
    10 2 Sieć szkieletowa Noriega 3
    11 2 Mindy Martin 3
    12 2 Ken Kwok 3

Tworzenie nowego projektu

Po utworzeniu tabeli utwórz nowy projekt, aby zademonstrować konfigurowanie dziedziczenia.

Aby utworzyć nową aplikację Windows Forms

  1. W programie Visual Studio w menu Plik wybierz pozycję Nowy>projekt.

  2. Rozwiń węzeł Visual C# lub Visual Basic w okienku po lewej stronie, a następnie wybierz pozycję Pulpit systemu Windows.

  3. W środkowym okienku wybierz typ projektu Aplikacja Windows Forms.

  4. Nadaj projektowi nazwę InheritanceWalkthrough, a następnie wybierz przycisk OK.

    Projekt InheritanceWalkthrough jest tworzony i dodawany do Eksplorator rozwiązań.

Dodawanie pliku LINQ to SQL classes do projektu

Aby dodać plik LINQ to SQL do projektu

  1. W menu Project (Projekt) kliknij pozycję Add New Item (Dodaj nowy element).

  2. Kliknij szablon KLASY LINQ to SQL, a następnie wybierz pozycję Dodaj.

    Plik .dbml zostanie dodany do projektu, a zostanie otwarty projektant O/R.

Tworzenie dziedziczenia przy użyciu projektanta O/R

Skonfiguruj dziedziczenie, przeciągając obiekt Dziedziczenie z Przybornika na powierzchnię projektową.

Aby utworzyć dziedziczenie

  1. W Eksploratorze serwera lub Eksploratorze bazy danych przejdź do utworzonej wcześniej tabeli Person .

  2. Przeciągnij tabelę Person na powierzchnię projektową projektanta O/R Designer .

  3. Przeciągnij drugą tabelę Person na projektanta O/R i zmień jego nazwę na Employee.

  4. Usuń właściwość Manager z obiektu Person.

  5. Usuń właściwości Type, ID, FirstName i LastName z obiektu Employee. (Innymi słowy, usuń wszystkie właściwości z wyjątkiem Menedżer.)

  6. Na karcie Projektant relacyjny obiektu przybornika utwórz dziedziczenie między obiektami Person i Employee. Aby to zrobić, kliknij element Dziedziczenie w Przyborniku i zwolnij przycisk myszy. Następnie kliknij obiekt Employee, a następnie obiekt Person w Projektancie O/R. Strzałka w wierszu dziedziczenia następnie wskazuje obiekt Person .

  7. Kliknij wiersz Dziedziczenie na powierzchni projektowej.

  8. Ustaw właściwość Dyskryminator właściwości na Typ.

  9. Ustaw właściwość Wartość dyskryminująca klasy pochodnej na 2.

  10. Ustaw właściwość Wartość dyskryminująca klasy bazowej na 1.

  11. Ustaw właściwość Default dziedziczenia na Person.

  12. Skompiluj projekt.

Wykonywanie zapytań względem dziedziczonej klasy i wyświetlanie danych w formularzu

Teraz dodasz kod do formularza, który wykonuje zapytania o określoną klasę w modelu obiektów.

Aby utworzyć zapytanie LINQ i wyświetlić wyniki w formularzu

  1. Przeciągnij pole listy na formę Form1.

  2. Kliknij dwukrotnie formularz, aby utworzyć procedurę Form1_Load obsługi zdarzeń.

  3. Dodaj następujący kod do programu obsługi zdarzeń Form1_Load :

    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)
    }
    

Testowanie aplikacji

Uruchom aplikację i sprawdź, czy rekordy wyświetlane w polu listy są wszystkimi pracownikami (rekordy, które mają wartość 2 w kolumnie Typ ).

Aby przetestować aplikację

  1. Naciśnij klawisz F5.

  2. Sprawdź, czy wyświetlane są tylko rekordy, które mają wartość 2 w kolumnie Typ .

  3. Zamknij formularz. (Na stronie Menu Debugowanie , kliknij pozycję Zatrzymaj debugowanie).