Condividi tramite


Connessione al modello Sales di AdventureWorks (EDM)

Per utilizzare le classi programmabili compilate in base a Entity Data Model (EDM), è necessario aprire una connessione ai dati. La connessione al modello Sales di AdventureWorks è basata su una stringa di connessione del provider e sull'oggetto ObjectContext dello spazio dei nomi System.Data.EntityClient.

File di configurazione dell'applicazione

Per le applicazioni che utilizzano EDM deve essere presente un file di configurazione nell'ambito del file eseguibile. Il file di configurazione include una stringa di connessione che identifica gli schemi che definiscono i modelli e il mapping, una stringa di connessione del provider che identifica il sistema di gestione del database e un nome del provider che identifica lo spazio dei nomi System.Data.EntityClient.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name=" AdvWksSalesEntities" 
         connectionString="metadata=.;
         provider=System.Data.SqlClient;
         provider connection string=
         &quot;Data Source=serverName;
         Initial Catalog=AdventureWorks;
         Integrated Security=True;
         multipleactiveresultsets=true&quot;"
         providerName="System.Data.EntityClient" />
  </connectionStrings>

</configuration>

Codice dell'applicazione

Nel codice seguente viene illustrato come aprire una connessione all'oggetto ObjectContext denominato AdventureWorksEntities. Con il file di configurazione dell'applicazione nell'ambito, è possibile aprire una connessione con una riga di codice: AdventureWorksEntities db = new AdventureWorksEntities(). AdventureWorksEntities db = new AdventureWorksEntities().

ObjectContext fornisce accesso agli insiemi di dati utilizzati dalle applicazioni. Nell'esempio seguente vengono innanzitutto aperti un oggetto ObjectContext e tutte le istanze del tipo Contact. Vengono quindi enumerate le istanze di SalesOrderHeader e viene utilizzata la proprietà di navigazione basata su un'associazione tra SalesOrderHeader e Address per individuare e visualizzare una riga dell'indirizzo.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AdvWrksSalesModel;

namespace AdvWrksSalesClient
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                using (AdvWksSalesEntities db =
                                     new AdvWksSalesEntities ())
                {
                    foreach (Contact c in db.Contact)
                        Console.WriteLine("{0}, {1}",
                                 c.LastName, c.FirstName);


                    foreach (SalesOrderHeader soHeader in 
                                          db.SalesOrderHeader)
                    {
                        soHeader.Address1Reference.Load();
                    Console.WriteLine(soHeader.Address1.AddressLine1);

                    }

                }
            }
            catch (System.Data.EntityCommandExecutionException e)
            {
                Console.WriteLine(e.ToString());
            }
        }
    }
}

Vedere anche

Concetti

Schema concettuale del modello Sales di AdventureWorks (EDM)
Schema di archiviazione del modello Sales di AdventureWorks (EDM)
Schema di mapping del modello Sales di AdventureWorks (EDM)