Condividi tramite


Creazione di classi LINQ to SQL utilizzando O/R Designer

Aggiornamento: novembre 2007

Object Relational Designer (O/R Designer) consente di eseguire il mapping di classi LINQ to SQL alle tabelle in un database. Tali classi mappate sono note anche come classi di entità. Le proprietà di una classe di entità eseguono il mapping alle colonne della tabella ed è possibile associare i dati ai controlli in un Windows Form. Per ulteriori informazioni sulle classi LINQ to SQL, vedere Utilizzo di LINQ in Visual Basic Express.

In questa lezione verrà descritto come utilizzare O/R Designer per creare classi di entità mappate alle tabelle nel database Northwind. Verranno quindi visualizzati i dati in un'applicazione Windows Form.

Prerequisiti

  • Se SQL Server Express Edition non è stato installato al momento dell'installazione di Visual Basic Express Edition, sarà necessario eseguire questa operazione prima di proseguire. I database SQL Server Compact 3.5 non sono attualmente supportati in LINQ to SQL. Per informazioni su come ottenere SQL Server Express Edition, vedere la sezione relativa a come ottenere SQL Server Express Edition in Procedura: installare database di esempio.

  • Per completare la lezione, è inoltre necessario disporre dell'accesso alla versione SQL Server del database di esempio Northwind. Per ulteriori informazioni, vedere Procedura: installare database di esempio.

Procedura

Per aprire Progettazione relazionale oggetti

  1. Scegliere Nuovo progetto dal menu File.

  2. Nel riquadro Modelli della finestra di dialogo Nuovo progetto fare clic su Applicazione Windows Form, assegnare al progetto il nome LINQToSQLSample quindi scegliere OK.

    Verrà aperto un nuovo progetto Windows Form.

  3. Scegliere Aggiungi nuovo elemento dal menu Progetto.

  4. Fare clic sul modello Classi LINQ to SQL e digitare NorthwindSample.dbml nella casella Nome.

  5. Scegliere Aggiungi.

    Verrà aggiunto al progetto un file LINQ to SQL vuoto (NorthwindSample.dbml) e verrà aperto O/R Designer.

In O/R Designer sono presenti due aree di progettazione: il riquadro Entità a sinistra e il riquadro Metodi a destra. Il riquadro Entità rappresenta l'area di progettazione principale in cui vengono visualizzate le classi di entità definite nel file. Il riquadro Metodi rappresenta invece l'area di progettazione in cui vengono visualizzati i metodi DataContext mappati a stored procedure e funzioni. È possibile nascondere il riquadro Metodi facendo clic con il pulsante destro del mouse su Progettazione relazionale oggetti quindi su Nascondi riquadro metodi. In questa lezione non verrà utilizzato il riquadro Metodi, ma per ulteriori informazioni è possibile vedere Metodi DataContext (Progettazione relazionale oggetti).

Fare clic sull'area di progettazione principale e verificare che il nome sia NorthwindSampleDataContext nelle proprietà Name nella finestra Proprietà. È possibile creare classi di entità trascinando le tabelle di database da Esplora database nell'area di O/R Designer. È necessario però creare prima una connessione al database. Questo processo è analogo a quello descritto in Recupero delle informazioni necessarie: connessione a un database esistente, con la differenza che in questo caso verrà utilizzato un database SQL Server Express.

Per connettersi al database Northwind

  1. Scegliere Esplora database dal menu Visualizza.

    Verrà visualizzato Esplora database.

  2. Fare clic sul pulsante Connetti al database nella barra degli strumenti Esplora database.

  3. Fare clic su File di database Microsoft SQL Server nella finestra Scegli origini dati e quindi su Continua.

    Verrà visualizzata la finestra di dialogo Aggiungi connessione.

  4. Nella finestra di dialogo Aggiungi connessione verificare che l'origine dati sia File di database Microsoft SQL Server (SqlClient).

  5. Fare clic su Sfoglia quindi individuare e selezionare il database Northwind.mdf. Scegliere Apri.

  6. Scegliere Test connessione per verificare che la connessione sia stata stabilita.

  7. Scegliere OK per chiudere la finestra di dialogo Aggiungi connessione.

Creazione di classi di entità

Le tabelle nel database Northwind sono ora visibili in Esplora database. È possibile trascinare le tabelle da Esplora database in Progettazione relazionale oggetti. Verranno automaticamente create le classi di entità contenenti le proprietà che eseguono il mapping alle colonne delle tabelle trascinate da Esplora database.

Per creare le classi di entità

  1. In Esplora database espandere Northwind.mdf, quindi espandere Tabelle.

  2. Trascinare Customers da Esplora database nell'area di O/R Designer. Se viene richiesto di copiare il file di dati nel progetto, scegliere Sì.

    Verrà creata una classe di entità denominata Customer, con proprietà corrispondenti alle colonne della tabella Customers.

  3. Trascinare Orders da Esplora database nell'area di O/R Designer.

    Verrà creata una classe di entità denominata Order con un'associazione (relazione) alla classe di entità Customer. Tale classe presenta proprietà corrispondenti alle colonne della tabella Orders.

Dopo la creazione delle classi di entità, è possibile aggiungerle alla finestra Origini dati eseguendo la Configurazione guidata origine dati.

Per aggiungere una classe di entità come origine dati di un oggetto nella finestra Origini dati

  1. Scegliere Compila LINQToSQLSample dal menu Compila.

  2. 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, quindi su Avanti.

  5. Espandere il nodo LINQToSQLSample, quindi individuare la classe Customer.

    Nota:

    Se la classe Customer non è disponibile, fare clic su Annulla, 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.

Associazione dei controlli in un Windows Form alle classi di entità

È possibile aggiungere i controlli associati a dati alle classi di entità in un Windows Form trascinando le tabelle o i campi dalla finestra Origini dati nel form.

Per aggiungere controlli associati alle classi di entità

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse su Form1, quindi scegliere Visualizza finestra di progettazione.

  2. Nella finestra Origini dati espandere Customer.

  3. Fare clic sulla freccia a discesa accanto a CompanyName, quindi fare clic su Etichetta.

  4. Trascinare CompanyName nel form.

    Verranno aggiunte al form un'etichetta e una barra degli strumenti di spostamento.

  5. Trascinare Orders dalla finestra Origini dati in Form1. Posizionarlo sotto CompanyName.

  6. In Esplora soluzioni fare clic con il pulsante destro del mouse su Form1, quindi scegliere Visualizza codice.

  7. Aggiungere al form il seguente codice, all'inizio della classe Form, all'esterno di qualsiasi metodo specifico.

    Private NorthwindSampleDataContext1 As New _
        NorthwindSampleDataContext
    
  8. Creare un gestore di eventi per l'evento Form_Load facendo doppio clic sul form. Aggiungere il codice seguente al gestore eventi:

    CustomerBindingSource.DataSource = _
        NorthwindSampleDataContext1.Customers()
    
  9. Premere F5 per eseguire il codice.

  10. Quando viene visualizzato il form, fare clic sul pulsante Sposta successivo per scorrere le società e verificare che i dati siano aggiornati in modo da visualizzare gli ordini del cliente selezionato.

Salvataggio delle modifiche

Quando si aggiungono controlli a Progettazione relazionale oggetti, il pulsante Salva dati nella barra degli strumenti di spostamento non è attivato. Se si desidera consentire agli utenti di salvare le modifiche, è necessario attivare prima il pulsante Salva, quindi aggiungere il codice per salvare i dati modificati.

Per attivare il pulsante Salva

  1. In visualizzazione Progettazione, selezionare il pulsante Salva nella barra degli strumenti di spostamento, il pulsante con l'icona di un disco floppy.

  2. Nella finestra Proprietà impostare la proprietà Enabled su True.

  3. Fare doppio clic sul pulsante Salva per creare un gestore eventi e passare all'editor del codice.

  4. Aggiungere il seguente codice nel gestore eventi del pulsante Salva:

    NorthwindSampleDataContext1.SubmitChanges()
    
  5. Premere F5 per eseguire il codice.

  6. Modificare il valore in uno dei campi Shipped Date e premere il tasto TAB per eseguire il commit della modifica.

  7. Fare clic sul pulsante Salva dati.

  8. Chiudere il form.

  9. Premere F5, e verificare che la modifica apportata sia stata salvata.

Passaggi successivi

In questa lezione verrà illustrato come creare Classi LINQ to SQL utilizzando Progettazione relazionale oggetti. Nella lezione successiva verrà descritto come associare dati utilizzando una query LINQ. Per ulteriori informazioni sull'utilizzo di LINQ in un'applicazione, vedere Utilizzo di LINQ in Visual Basic Express.

Lezione successiva: Utilizzo di LINQ per associare dati a controlli

Vedere anche

Attività

Archiviazione e accesso ai dati

Visualizzazione di dati correlati

Procedura dettagliata: creazione di classi LINQ to SQL (Progettazione relazionale oggetti)

Concetti

Utilizzo di LINQ in Visual Basic Express

Cenni preliminari su Progettazione relazionale oggetti

Altre risorse

Gestione dei record: utilizzo di dati nei programmi