Procedura dettagliata: Creare classi LINQ to SQL usando l'ereditarietà a tabella singola (Progettazione O/R)
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:
Creazione di una tabella di database e aggiunta di dati ad essa.
Creazione di un'applicazione Windows Form.
Aggiungere un file LINQ to SQL a un progetto.
Creazione di nuove classi di entità.
Configurazione delle classi di entità per l'uso dell'ereditarietà.
Esecuzione di una query sulla classe ereditata.
Visualizzazione dei dati in un Windows Form.
Creazione di 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 l'illustrazione dell'ereditarietà
In Esplora server o Esplora database fare clic con il pulsante destro del mouse sul nodo Tabelle e scegliere Aggiungi nuova tabella.
Nota
È possibile usare il database Northwind o qualsiasi altro database a cui sia possibile aggiungere una tabella.
In Progettazione tabelle aggiungere le colonne seguenti alla tabella:
Nome colonna Tipo di dati Consenti valori NULL ID int Falso Type int Vero FirstName nvarchar(200) Falso LastName nvarchar(200) Falso Responsabile int Vero Impostare la colonna ID come chiave primaria.
Salvare la tabella e denominarla Person.
Aggiungere dati alla tabella
Allo scopo di verificare che l'ereditarietà sia configurata correttamente, è necessario aggiungere alcuni dati alla tabella per ogni classe nell'ereditarietà a tabella singola.
Per aggiungere dati alla tabella
Aprire la tabella nella visualizzazione dati (Fare clic con il pulsante destro del mouse sul Tabella Person in Esplora server o Esplora database e fare clic su Mostra dati tabella.
Copiare i dati riportati di seguito nella tabella È possibile copiarlo e incollarlo nella tabella selezionando l'intera riga nel Riquadro risultati .
ID Type FirstName LastName 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
Crea un nuovo progetto
Una volta creata 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 Windows Form app.
Assegnare al progetto il nome InheritanceWalkthrough e quindi scegliere OK.
Il progetto InheritanceWalkthrough viene creato e aggiunto a Esplora soluzioni.
Aggiunta di un file di classi LINQ to SQL al progetto
Per aggiungere un file LINQ to SQL al progetto
Dal menu Progetto fare clic su Aggiungi nuovo elemento.
Fare clic sul modello Classi LINQ to SQL e quindi fare clic su Aggiungi.
Il
.dbml
file viene aggiunto al progetto e viene aperto O/R Designer .
Creare l'ereditarietà usando Object Relational Designer
Configurare l'ereditarietà trascinando un oggetto Inheritance 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).
Dalla scheda Object Relational Designer della Casella degli strumenti, creare un oggetto Inheritance tra gli oggetti Person ed Employee. Per eseguire questa operazione, fare clic sull'elemento Inheritance 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à Discriminator Property su Type.
Impostare la proprietà Derived Class Discriminator Value su 2.
Impostare la proprietà Base Class Discriminator Value su 1.
Impostare la proprietà Inheritance Default su Person.
Compilare il progetto.
Eseguire una query sulla classe ereditata e visualizzare i dati nel form
È 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 form
Trascinare un oggetto ListBox in Form1.
Fare doppio clic sul form per creare un gestore dell'evento
Form1_Load
.Aggiungere il codice seguente al gestore eventi
Form1_Load
:
Testare l'applicazione
Eseguire l'applicazione e verificare che i record visualizzati nella casella di riepilogo rappresentino tutti i dipendenti (record che presentano il valore 2 nella rispettiva colonna Type).
Per testare l'applicazione
Premere F5.
Verificare che siano visualizzati solo i record che presentano il valore 2 nella rispettiva colonna Type.
Chiudere il modulo. Scegliere Termina debug dal menu Debug.
Contenuto correlato
- Strumenti LINQ to SQL in Visual Studio
- Procedura dettagliata: Creazione di classi LINQ to SQL (Object Relational Designer)
- Procedura: Assegnare stored procedure per eseguire aggiornamenti, inserimenti ed eliminazioni (O/R Designer)
- LINQ to SQL
- Procedura: Generare il modello a oggetti in Visual Basic o C#
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per