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
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.
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ý Nastavte sloupec ID jako primární klíč.
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
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.)
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
V sadě Visual Studio v nabídce Soubor vyberte Nový>projekt.
V levém podokně rozbalte visual C# nebo Visual Basic a pak vyberte Plochu windows.
V prostředním podokně vyberte typ projektu aplikace model Windows Forms.
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
V nabídce Projekt klepněte na tlačítko Přidat novou položku.
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
V Průzkumníku serveru nebo Průzkumníku databází přejděte do tabulky Person , kterou jste vytvořili dříve.
Přetáhněte tabulku Person na návrhovou plochu Návrháře relací objektů.
Přetáhněte druhou tabulku Person (Osoba) do Návrháře relací objektů a změňte jeho jméno na Employee (Zaměstnanec).
Odstraňte vlastnost Správce z objektu Person.
Odstraňte vlastnosti Type, ID, FirstName a LastName z objektu Employee. (Jinými slovy, odstraňte všechny vlastnosti s výjimkou Nadřízený.)
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 .
Klikněte na čáru dědičnosti na návrhové ploše.
Nastavte vlastnost diskriminátoru na Typ.
Nastavte vlastnost diskriminátoru odvozené třídy na hodnotu 2.
Nastavte vlastnost diskriminátoru základní třídy na hodnotu 1.
Nastavte vlastnost Dědičnost Výchozí na Person.
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
Přetáhněte ListBox na Form1.
Poklikáním na formulář vytvořte obslužnou rutinu
Form1_Load
události.Do obslužné rutiny události přidejte následující kód
Form1_Load
:
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
Stiskněte klávesu F5.
Ověřte, že se zobrazí pouze záznamy, které mají hodnotu 2 ve sloupci Typ .
Zavřete formulář. (Na kartě Ladicí nabídka, klepněte na tlačítko Zastavit ladění.)