Dela via


Genomgång: Skapa LINQ till SQL-klasser med enkeltabellsarv (O/R Designer)

LINQ-till-SQL-verktygen i Visual Studio stöder arv med en tabell eftersom det vanligtvis implementeras i relationssystem. Den här genomgången utökar de allmänna stegen i avsnittet Så här: Konfigurera arv med hjälp av O/R Designer och innehåller verkliga data för att demonstrera användningen av arv i O/R Designer.

Under den här genomgången utför du följande uppgifter:

  • Skapa en databastabell och lägg till data i den.

  • Skapa ett Windows Forms-program.

  • Lägg till en LINQ i SQL-filen i ett projekt.

  • Skapa nya entitetsklasser.

  • Konfigurera entitetsklasserna så att de använder arv.

  • Fråga den ärvda klassen.

  • Visa data i ett Windows-formulär.

Skapa en tabell att ärva från

Om du vill se hur arv fungerar skapar du en liten Person tabell, använder den som basklass och skapar sedan ett Employee objekt som ärver från den.

Så här skapar du en bastabell för att demonstrera arv

  1. I Server Explorer eller Database Explorer högerklickar du på noden Tabeller och klickar på Lägg till ny tabell.

    Anmärkning

    Du kan använda Northwind-databasen eller någon annan databas som du kan lägga till en tabell i.

  2. Lägg till följande kolumner i tabellen i Tabelldesignern:

    Kolumnnamn Datatyp Tillåt null-värden
    ID int Falskt
    Type int Sant
    Förnamn nvarchar(200) Falskt
    Efternamn nvarchar(200) Falskt
    Chef int Sant
  3. Ange ID-kolumnen som primärnyckel.

  4. Spara tabellen och ge den namnet Person.

Lägga till data i tabellen

Så att du kan kontrollera att arv har konfigurerats korrekt behöver tabellen vissa data för varje klass i enkeltabellsarv.

Så här lägger du till data i tabellen

  1. Öppna tabellen i datavyn. (Högerklicka på tabellen Person i Server Explorer eller Database Explorer och klicka på Visa tabelldata.)

  2. Kopiera följande data till tabellen. (Du kan kopiera den och sedan klistra in den i tabellen genom att välja hela raden i resultatfönstret .)

    ID Type Förnamn Efternamn Chef
    1 1 Anne Wallace NULL-
    2 1 Carlos Grilo NULL-
    3 1 Yael Peled NULL-
    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 Martin 3
    12 2 Ken Kwok 3

Skapa ett nytt projekt

Nu när du har skapat tabellen skapar du ett nytt projekt som visar hur du konfigurerar arv.

Skapa det nya Windows Forms-programmet

  1. I Visual Studio går du till arkivmenyn och väljer Nytt>projekt.

  2. Expandera antingen Visual C# eller Visual Basic i det vänstra fönstret och välj sedan Windows Desktop.

  3. I den mellersta rutan väljer du projekttypen Windows Forms App .

  4. Ge projektet namnet InheritanceWalkthrough och välj sedan OK.

    Projektet InheritanceWalkthrough skapas och läggs till i Solution Explorer.

Lägga till en LINQ till SQL-klassfil i projektet

Så här lägger du till en LINQ i SQL-filen i projektet

  1. Projekt-menyn klickar du på Lägg till nytt objekt.

  2. Klicka på mallen LINQ till SQL-klasser och välj sedan Lägg till.

    Filen .dbml läggs till i projektet och O/R Designer öppnas.

Skapa arvet med hjälp av O/R Designer

Konfigurera arvet genom att dra ett arvsobjekt från verktygslådan till designytan.

Så här skapar du arvet

  1. I Server Explorer eller Database Explorer navigerar du till tabellen Person som du skapade tidigare.

  2. Dra tabellen Person till designytan för O/R Designer.

  3. Dra en andra persontabell till O/R Designer och ändra dess namn till Anställd.

  4. Ta bort egenskapen Managerfrån personobjektet .

  5. Ta bort egenskaperna Typ, ID, FirstName och LastName från objektet Employee . (Ta med andra ord bort alla egenskaper förutom Manager.)

  6. På fliken Objektrelationsdesigner i verktygslådan skapar du ett arv mellan objekten Person och Anställd . Det gör du genom att klicka på arvsobjektet i verktygslådan och släppa musknappen. Klicka sedan på objektet Anställd och sedan på personobjektet i O/R Designer. Pilen på arvslinjen pekar sedan på personobjektet.

  7. Klicka på raden Arv på designytan.

  8. Ange egenskapen Discriminator till Typ.

  9. Ange egenskapen Härledd klassdiskriminerande värde till 2.

  10. Ange egenskapen Base Class Discriminator Value till 1.

  11. Ange egenskapen Arvsstandard till Person.

  12. Skapa projektet.

Begär den ärvda klassen och visa datan på formuläret

Nu lägger du till lite kod i formuläret som frågar efter en specifik klass i objektmodellen.

Skapa en LINQ-fråga och visa resultatet i formuläret

  1. Dra en ListBox till Form1.

  2. Dubbelklicka på formuläret för att skapa en Form1_Load händelsehanterare.

  3. Lägg till följande kod i Form1_Load händelsehanteraren:

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

Testa programmet

Kör programmet och kontrollera att posterna som visas i listrutan är alla anställda (poster som har värdet 2 i kolumnen Typ ).

Testa programmet

  1. Tryck på F5.

  2. Kontrollera att endast poster som har värdet 2 i kolumnen Typ visas.

  3. Stäng formuläret. ( På felsökningsmenyn klickar du på Stoppa felsökning.)