Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Gli strumenti LINQ to SQL in Visual Studio supportano l'ereditarietà a tabella singola perché in genere viene implementata nei sistemi relazionali. Questa procedura dettagliata si espande sui passaggi generici descritti nell'argomento Procedura: Configurare l'ereditarietà usando progettazione O/R e fornisce alcuni dati reali per illustrare l'uso dell'ereditarietà in Progettazione O/R.
Durante questa procedura dettagliata vengono eseguite le attività seguenti:
Creare una tabella di database e aggiungervi dati.
Creare un'applicazione Windows Form.
Aggiungere un file LINQ to SQL a un progetto.
Creare nuove classi di entità.
Configurare le classi di entità per l'uso dell'ereditarietà.
Interrogare la classe ereditata.
Visualizzare i dati in un Windows Form.
Creare una tabella da cui ereditare
Per verificare il funzionamento dell'ereditarietà, creare una tabella di piccole dimensioni Person , usarla come classe di base e quindi creare un Employee oggetto che eredita da esso.
Per creare una tabella di base per dimostrare l'ereditarietà
In Esplora server o Esplora database fare clic con il pulsante destro del mouse sul nodo Tabelle e scegliere Aggiungi nuova tabella.
Annotazioni
È possibile usare il database Northwind o qualsiasi altro database a cui è possibile aggiungere una tabella.
In Progettazione tabelle aggiungere le colonne seguenti alla tabella:
Nome della colonna Tipo di dati Consenti valori Null ID int false Tipo int Vero Nome nvarchar(200) false Cognome nvarchar(200) false Responsabile int Vero Impostare la colonna ID come chiave primaria.
Salvare la tabella e denominarla Person.
Aggiungere dati alla tabella
Per verificare che l'ereditarietà sia configurata correttamente, la tabella richiede alcuni dati per ogni classe nell'ereditarietà a tabella singola.
Per aggiungere dati alla tabella
Aprire la tabella nella vista dati. Fare clic con il pulsante destro del mouse sulla tabella Person in Esplora server o Esplora database e scegliere Mostra dati tabella.
Copiare i dati seguenti nella tabella. È possibile copiarlo e incollarlo nella tabella selezionando l'intera riga nel riquadro risultati .
ID Tipo Nome Cognome Responsabile 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
Creare un nuovo progetto
Dopo aver creato la tabella, creare un nuovo progetto per illustrare la configurazione dell'ereditarietà.
Per creare la nuova applicazione Windows Form
Nel menu File in Visual Studio selezionare Nuovo>Progetto.
Espandere Visual C# o Visual Basic nel riquadro a sinistra, quindi selezionare Desktop di Windows.
Nel riquadro centrale selezionare il tipo di progetto App Windows Form .
Assegnare al progetto il nome InheritanceWalkthrough e quindi scegliere OK.
Il progetto InheritanceWalkthrough viene creato e aggiunto a Esplora soluzioni.
Aggiungere un file di classi LINQ to SQL al progetto
Per aggiungere un file LINQ to SQL al progetto
Scegliere Aggiungi nuovo elemento dal menu Progetto.
Fare clic sul modello LINQ to SQL Classes e quindi selezionare Aggiungi.
Il
.dbmlfile viene aggiunto al progetto e viene aperto O/R Designer .
Creare l'ereditarietà utilizzando il Progettista O/R
Configurare l'ereditarietà trascinando un oggetto Ereditarietà dalla Casella degli strumenti nell'area di progettazione.
Per creare l'ereditarietà
In Esplora server o Esplora database passare alla tabella Person creata in precedenza.
Trascinare la tabella Person nell'area di progettazione O/R Designer .
Trascinare una seconda tabella Person in Progettazione O/R e modificarne il nome in Employee.
Eliminare la proprietà Manager dall'oggetto Person .
Eliminare le proprietà Type, ID, FirstName e LastName dall'oggetto Employee . In altre parole, eliminare tutte le proprietà ad eccezione di Manager.
Nella scheda Disegnatore relazionale oggetti della Casella degli strumenti, creare un'eredità tra gli oggetti Person e Employee. A tale scopo, fare clic sull'elemento Ereditarietà nella casella degli strumenti e rilasciare il pulsante del mouse. Fare quindi clic sull'oggetto Employee e quindi sull'oggetto Person in O/R Designer. La freccia sulla linea di ereditarietà punta quindi all'oggetto Person .
Fare clic sulla linea Ereditarietà nell'area di progettazione.
Impostare la proprietà Discriminatore su Tipo.
Impostare la proprietà Derived Class Discriminator Value su 2.
Impostare la proprietà Base Class Discriminator Value su 1.
Impostare la proprietà Ereditarietà predefinita su Person.
Costruisci il progetto.
Eseguire una query sulla classe ereditata e visualizzare i dati nel modulo
È ora possibile aggiungere codice al modulo che esegue una query per una classe specifica nel modello a oggetti.
Per creare una query LINQ e visualizzare i risultati nel modulo
Trascinare un controllo ListBox su Form1.
Fare doppio clic sul modulo per creare un
Form1_Loadgestore eventi.Aggiungere il codice seguente al
Form1_Loadgestore eventi:
Testare l'applicazione
Eseguire l'applicazione e verificare che i record visualizzati nella casella di riepilogo siano tutti dipendenti (record con valore 2 nella colonna Tipo ).
Per testare l'applicazione
Premere F5.
Verificare che vengano visualizzati solo i record con valore 2 nella colonna Type .
Chiudere il modulo. Scegliere Arresta debug dal menu Debug.