Share via


Connexion au modèle de vente AdventureWorks Sales Model (EDM)

Pour utiliser des classes programmables générées sur le modèle EDM (Modèle de données d'entité), une connexion aux données doit être ouverte. La connexion au modèle de vente Adventure Works Sales Model repose sur la chaîne de connexion d'un fournisseur et sur l'objet ObjectContext de l'espace de noms System.Data.EntityClient.

Fichier App.Config

Les applications qui utilisent le modèle EDM doivent avoir un fichier de configuration dans la portée du fichier exécutable. Le fichier de configuration inclut une chaîne de connexion identifiant les schémas qui définissent les modèles et le mappage, la chaîne de connexion d'un fournisseur qui identifie le système de gestion de base de données, et un nom de fournisseur qui identifie l'espace de noms 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>

Code de l'application

L'exemple de code suivant montre comment ouvrir une connexion à l'objet ObjectContext nommé AdventureWorksEntities. Lorsque le fichier de configuration de l'application se trouve dans la portée, la connexion peut être ouverte avec une seule ligne de code : AdventureWorksEntities db = new AdventureWorksEntities().

L'objet ObjectContext fournit l'accès aux collections de données utilisées par les applications. L'exemple suivant commence par ouvrir un objet ObjectContext et toutes les instances du type Contact. Il énumère ensuite les instances de SalesOrderHeader et utilise la propriété de navigation basée sur une association entre SalesOrderHeader et Address pour localiser et afficher une ligne de l'adresse.

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());
            }
        }
    }
}

Voir aussi

Concepts

Schéma conceptuel des ventes AdventureWorks (EDM)
Schéma de stockage de l'exemple de base de données AdventureWorks Sales (EDM)
Schéma de mappage des ventes AdventureWorks (EDM)