Sdílet prostřednictvím


Návod: Vytvoření tříd LINQ to SQL pomocí dědičnosti s jednou tabulkou (Návrhář relací objektů)

Nástroje LINQ to SQL v sadě Visual Studio podporují dědičnost s jednou tabulkou, protože se obvykle implementuje v relačních systémech. Tento názorný postup se rozšiřuje o obecné kroky uvedené v tématu Postupy: Konfigurace dědičnosti pomocí tématu Návrhář relací objektů a poskytuje některá skutečná data, která předvádějí použití dědičnosti v Návrháři relací objektů.

Během tohoto názorného postupu provedete následující úlohy:

  • Vytvořte tabulku databáze a přidejte do ní data.

  • Vytvořte model Windows Forms aplikaci.

  • Přidejte do projektu soubor LINQ to SQL.

  • Vytvořte nové třídy entit.

  • Nakonfigurujte třídy entit tak, aby používaly dědičnost.

  • Dotaz na zděděnou třídu

  • Zobrazení dat ve formuláři Windows.

Vytvoření tabulky, ze které se má dědit

Pokud chcete zjistit, jak dědičnost funguje, vytvoříte malou Person tabulku, použijete ji jako základní třídu a pak vytvoříte Employee objekt, který z něj dědí.

Vytvoření základní tabulky pro předvedení dědičnosti

  1. V Průzkumníku serveru nebo Průzkumníku databáze klikněte pravým tlačítkem myši na uzel Tabulky a klikněte na Přidat novou tabulku.

    Poznámka:

    Můžete použít databázi Northwind nebo jakoukoli jinou databázi, do které můžete přidat tabulku.

  2. V Návrháři tabulky přidejte do tabulky následující sloupce:

    Název sloupce Datový typ Povolit hodnoty Null
    ID int Falešný
    Typ int Pravdivý
    FirstName nvarchar(200) Falešný
    LastName nvarchar(200) Falešný
    Manažer int Pravdivý
  3. Nastavte sloupec ID jako primární klíč.

  4. Uložte tabulku a pojmenujte ji Osoba.

Přidat data do tabulky

Aby bylo možné ověřit, že je dědičnost správně nakonfigurovaná, potřebuje tabulka určitá data pro každou třídu v dědičnosti jedné tabulky.

Přidání dat do tabulky

  1. Otevřete tabulku v zobrazení dat. (Klikněte pravým tlačítkem na tlačítko Tabulka osob v Průzkumníku serveru nebo Průzkumníku databáze a klikněte na Zobrazit data tabulky.)

  2. Zkopírujte do tabulky následující data. (Můžete ho zkopírovat a vložit do tabulky tak, že vyberete celý řádek v řádku Podokno výsledků .)

    ID Typ FirstName LastName Manažer
    1 1 Anna Wallace NULA
    2 1 Carlos Grilo NULA
    3 1 Yael Peled NULA
    4 2 Gatis Ozolins 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 Jiřička 3
    12 2 Rozsah znalostí Kwok 3

Vytvoření nového projektu

Teď, když jste vytvořili tabulku, vytvořte nový projekt, který demonstruje konfiguraci dědičnosti.

Vytvoření nové aplikace model Windows Forms

  1. V sadě Visual Studio v nabídce Soubor vyberte Nový>projekt.

  2. V levém podokně rozbalte visual C# nebo Visual Basic a pak vyberte Plochu windows.

  3. V prostředním podokně vyberte typ projektu aplikace model Windows Forms.

  4. Pojmenujte projekt InheritanceWalkthrough a pak zvolte OK.

    Vytvoří se projekt InheritanceWalkthrough a přidá se do Průzkumník řešení.

Přidání souboru tříd LINQ do sql do projektu

Přidání souboru LINQ to SQL do projektu

  1. V nabídce Projekt klepněte na tlačítko Přidat novou položku.

  2. Klikněte na šablonu LINQ to SQL Classes a pak vyberte Přidat.

    Soubor .dbml se přidá do projektu a otevře se Návrhář relací objektů.

Vytvoření dědičnosti pomocí Návrháře relací objektů

Nakonfigurujte dědičnost přetažením objektu dědičnosti ze sady nástrojů na návrhovou plochu.

Vytvoření dědičnosti

  1. V Průzkumníku serveru nebo Průzkumníku databází přejděte do tabulky Person , kterou jste vytvořili dříve.

  2. Přetáhněte tabulku Person na návrhovou plochu Návrháře relací objektů.

  3. Přetáhněte druhou tabulku Person (Osoba) do Návrháře relací objektů a změňte jeho jméno na Employee (Zaměstnanec).

  4. Odstraňte vlastnost Správce z objektu Person.

  5. Odstraňte vlastnosti Type, ID, FirstName a LastName z objektu Employee. (Jinými slovy, odstraňte všechny vlastnosti s výjimkou Nadřízený.)

  6. Na kartě Návrhář relací objektů panelu nástrojů vytvořte dědičnost mezi objekty Osoba a Zaměstnanec. Uděláte to tak, že kliknete na položku Dědičnost v sadě nástrojů a uvolníte tlačítko myši. Dále klikněte na objekt Zaměstnanec a potom na objekt Person v Návrháři relací objektů. Šipka na čáře dědičnosti pak odkazuje na objekt Person .

  7. Klikněte na čáru dědičnosti na návrhové ploše.

  8. Nastavte vlastnost diskriminátoru na Typ.

  9. Nastavte vlastnost diskriminátoru odvozené třídy na hodnotu 2.

  10. Nastavte vlastnost diskriminátoru základní třídy na hodnotu 1.

  11. Nastavte vlastnost Dědičnost Výchozí na Person.

  12. Sestavte projekt.

Dotaz na zděděnou třídu a zobrazení dat ve formuláři

Teď do formuláře přidáte kód, který se dotazuje na konkrétní třídu v objektovém modelu.

Vytvoření dotazu LINQ a zobrazení výsledků ve formuláři

  1. Přetáhněte ListBox na Form1.

  2. Poklikáním na formulář vytvořte obslužnou rutinu Form1_Load události.

  3. Do obslužné rutiny události přidejte následující kód 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)
    }
    

Testování aplikace

Spusťte aplikaci a ověřte, že záznamy zobrazené v seznamu jsou všichni zaměstnanci (záznamy, které mají hodnotu 2 ve sloupci Typ ).

Testování aplikace

  1. Stiskněte klávesu F5.

  2. Ověřte, že se zobrazí pouze záznamy, které mají hodnotu 2 ve sloupci Typ .

  3. Zavřete formulář. (Na kartě Ladicí nabídka, klepněte na tlačítko Zastavit ladění.)