Compartir a través de


Conexión de AdventureWorks Sales (EDM)

Para utilizar las clases programables generadas en el Entity Data Model (EDM), se debe abrir una conexión para los datos. La conexión al modelo Adventure Works Sales se basa en una cadena de conexión de proveedor y en el ObjectContext del espacio de nombres System.Data.EntityClient.

Archivo de configuración de aplicación

Las aplicaciones que utilizan el EDM deben tener un archivo de configuración en el ámbito del archivo ejecutable. El archivo de configuración incluye una cadena de conexión identificando los esquemas que definen los modelos y la asignación, una cadena de conexión del proveedor que identifica el sistema de administración de bases de datos y un nombre de proveedor que identifica el espacio de nombres 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>

Código de la aplicación

En el siguiente código se muestra cómo abrir una conexión con el ObjectContext denominado AdventureWorksEntities. Con el archivo de configuración de la aplicación en el ámbito, la conexión se puede abrir con una línea de código: AdventureWorksEntities db = new AdventureWorksEntities(). AdventureWorksEntities db = new AdventureWorksEntities().

ObjectContext proporciona acceso a las colecciones de datos que usan las aplicaciones. El ejemplo siguiente abre primero un ObjectContext y todas las instancias del tipo Contact. Después, enumera las instancias de SalesOrderHeader y utiliza la propiedad de navegación según una asociación entre SalesOrderHeader y Address para encontrar y mostrar una línea de la dirección.

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

Vea también

Conceptos

Esquema conceptual de AdventureWorks Sales (EDM)
Esquema de almacenamiento de AdventureWorks Sales (EDM)
Esquema de asignación de AdventureWorks Sales (EDM)