Postupy: Konfigurace dědičnosti pomocí Návrháře relací objektů
Publikováno: srpen 2016
Object Relational Designer (O/R Designer) Podporuje koncept dědičnosti jedné tabulky, jak často je implementována v relační systémy. V jedné tabulky dědičnosti je jednoho databázového tabulku, která obsahuje pole pro informace nadřazené a podřízené informace. S relačních dat sloupce diskriminátoru obsahuje hodnotu, která určuje, která třída všech záznamů patří.
Zvažte například tabulku osoby, která obsahuje everyone zaměstnává společnost. Někteří uživatelé mají zaměstnanci a někteří uživatelé jsou správci. Osoby tabulka obsahuje sloupec s názvem EmployeeType
s hodnotou 1 pro správce a hodnota 2 pro zaměstnance; Toto je sloupce diskriminátoru. V tomto scénáři můžete vytvořit podtřídu zaměstnanců a naplnit třídy s pouze záznamy, které mají EmployeeType
hodnota 2. Můžete také odebrat sloupce, které se nevztahují ze všech tříd.
Vytvoření objektu modelu, který používá dědičnost (a odpovídá na relační data) může být poněkud matoucí. Následující postup popisuje kroky požadované ke konfiguraci dědičnosti pomocí nástroje Návrhář relací objektů. Následující obecné kroky bez odkazující na existující tabulky a sloupce může být obtížné, aby poskytl návod, který používá data. Pro podrobné podrobné pokyny pro konfiguraci dědičnosti pomocí O/R Designer, naleznete v části Walkthrough: Creating LINQ to SQL Classes by Using Single-Table Inheritance (O/R Designer).
Chcete-li vytvořit třídy zděděné dat
Otevřete O/R Designer přidáním třídy LINQ to SQL položky do existujícího projektu jazyka Visual Basic nebo C#.
Přetáhněte tabulku, kterou chcete použít jako základní třídy na O/R Designer.
Přetáhněte tabulku na druhé kopie O/R Designer a přejmenujte ji. Je to odvozené třídy nebo podtřídy.
Klikněte na tlačítko dědičnosti v Návrhář relací objektů kartě nástrojů, a klikněte na tlačítko podtřídy (tabulka přejmenováním) a připojit k základní třídy.
Poznámka
Klikněte na tlačítko dědičnosti položku v nástrojů a uvolnění tlačítka myši, klikněte na druhé kopie třídy, které jste vytvořili v kroku 3 a pak klikněte na první třídy, které jste vytvořili v kroku 2. První třídy budou odkazovat na šipku na čáru dědičnosti.
V každé třídě odstraňte všechny vlastnosti objektu, které nechcete zobrazit a které nejsou použity pro přidružení. Pokud se pokusíte odstranit objekt vlastnosti používané pro přidružení dojde k chybě: The property <property name> cannot be deleted because it is participating in the association <association name>.
Poznámka
Protože odvozené třídy dědí vlastnosti definované v její základní třídě, stejné sloupce nelze definovat v každé třídy. (Sloupce jsou implementovány jako vlastnosti). Vytvoření sloupců v odvozené třídě lze povolit nastavením modifikátor dědičnosti na vlastnost v základní třídě. Další informace naleznete v tématu NOT IN sestavení: přepisování vlastnosti a metody.
Vybrat čáru dědičnosti v O/R Designer.
V Vlastnosti okně, nastavte diskriminátoru vlastnost na název sloupce, který se používá k rozlišení záznamů ve vaší třídy.
Nastavte odvozené třídy diskriminátoru hodnotu vlastnost na hodnotu v databázi, která označí jako zděděné typ záznamu. (Toto je hodnota, která je uložena ve sloupci diskriminátoru a který se používá k označení zděděné třídě.)
Nastavte hodnota diskriminátoru základní třídy vlastnost na hodnotu, který určuje jako základní typ záznamu. (Toto je hodnota, která je uložena ve sloupci diskriminátoru a který se používá k určení základní třídy).
Volitelně můžete také nastavit dědičnosti výchozí vlastnost pro označení typu v hierarchii dědičnosti, použitý při načítání řádků, které neodpovídají žádné definované dědičnosti kódu. Jinými slovy, pokud záznam obsahuje hodnotu ve sloupci diskriminátoru který neodpovídá hodnotu buď v odvozené třídy diskriminátoru hodnotu nebo hodnota diskriminátoru třídy Base vlastnosti, bude načíst záznam do typ určený jako dědičnosti výchozí.
Viz také
Technologie LINQ to SQL nástroje v sadě Visual Studio
Walkthrough: Creating LINQ to SQL Classes (O/R Designer)
PAVE, co je nového pro vývoj aplikací dat v sadě Visual Studio 2012
Přístup k datům v sadě Visual Studio
LINQ to SQL
Walkthrough: Creating LINQ to SQL Classes by Using Single-Table Inheritance (O/R Designer)
NENÍ v sestavení: Dědičnost v jazyce Visual Basic
Dědičnost