Creare classi LINQ to SQL mappate a tabelle e viste (Object Relational Designer)

Le classi LINQ to SQL mappate alle tabelle e alle viste del database sono denominate classi di entità. Per la classe di entità viene eseguito il mapping a un record, mentre per le singole proprietà di una classe di entità viene eseguito il mapping alle singole colonne che costituiscono un record. Creare classi di entità basate su tabelle o viste di database trascinando tabelle o viste da Esplora server o Esplora database negli strumenti LINQ to SQL in Visual Studio. Progettazione O/R genera le classi e applica gli attributi LINQ to SQL specifici per abilitare la funzionalità LINQ to SQL (le funzionalità di comunicazione e modifica dei dati di DataContext). Per informazioni dettagliate sulle classi LINQ to SQL, vedere il modello a oggetti LINQ to SQL.

Nota

O/R Designer è un semplice mapper relazionale a oggetti perché supporta solo le relazioni di mapping 1:1. In altre parole, una classe di entità può presentare solo una relazione di mapping 1:1 con una tabella o visualizzazione di database. Il mapping complesso, quale il mapping di una classe di entità a più tabelle, non è supportato. Tuttavia, è possibile eseguire il mapping di una classe di entità a una visualizzazione che crea un join tra più tabelle correlate.

Creare classi LINQ to SQL con mapping a tabelle o visualizzazioni di database

Il trascinamento di tabelle o viste da Esplora server o In Esplora database in Progettazione O/R crea classi di entità oltre ai metodi utilizzati per l'esecuzione DataContext degli aggiornamenti.

Per impostazione predefinita, il runtime LINQ to SQL crea la logica per salvare le modifiche da una classe di entità aggiornabile al database. Tale logica si basa sullo schema della tabella (definizioni di colonna e informazioni sulla chiave primaria). Se non si vuole questo comportamento, è possibile configurare una classe di entità in modo da usare stored procedure per eseguire inserimenti, aggiornamenti ed eliminazioni anziché usare il comportamento di runtime predefinito di LINQ to SQL. Per altre informazioni, vedere Procedura: Assegnare stored procedure per eseguire aggiornamenti, inserimenti ed eliminazioni (O/R Designer).

Nota

I nomi o i percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio in questo articolo potrebbero essere diversi nel computer in uso. È possibile usare un'edizione diversa di Visual Studio o impostazioni di ambiente diverse. Per altre informazioni, vedere Personalizzare l'IDE.

Per creare classi LINQ to SQL con mapping a tabelle o visualizzazioni di database

  1. In Esplora server/Esplora database espandere Tabelle o Viste e individuare la tabella o la vista di database da usare nell'applicazione.

  2. Trascinare la tabella o la vista in Progettazione O/R.

    Viene creata una classe di entità, che verrà visualizzata nell'area di progettazione. Tale classe presenta proprietà con mapping alle colonne nella tabella o visualizzazione selezionata.

Creare l'origine dati di un oggetto e visualizzare i dati in un form

Dopo aver creato classi di entità tramite Progettazione O/R, è possibile creare un'origine dati oggetto e popolare la finestra Origini dati con le classi di entità.

Per creare l'origine dati di un oggetto in base alle classi di entità LINQ to SQL

  1. Scegliere Compila soluzione dal menu Compila per compilare il progetto.

  2. Per aprire la finestra Origini dati, scegliere Mostra origini dati dal menu Dati.

  3. Nella finestra Origini dati fare clic su Aggiungi nuova origine dati.

  4. Nella pagina Seleziona un tipo di origine dati fare clic su Oggetto e quindi su Avanti.

  5. Espandere i nodi, quindi individuare e selezionare la classe.

    Nota

    Se la classe Customer non è disponibile, chiudere la procedura guidata, compilare il progetto ed eseguire nuovamente la procedura guidata.

  6. Fare clic su Fine per creare l'origine dati e aggiungere la classe di entità Customer alla finestra Origini dati.

  7. Trascinare gli elementi dalla finestra Origini dati in un form.