Share via


AdventureWorks Sales-Verbindung (EDM)

Um programmierbare, auf dem Entitätsdatenmodell (EDM) beruhende Klassen zu verwenden, muss eine Verbindung mit den Daten hergestellt werden. Die Verbindung zum AdventureWorks Sales-Modell basiert auf der Verbindungszeichenfolge für den Anbieter und dem ObjectContext des System.Data.EntityClient-Namespaces.

Anwendungskonfigurationsdatei

Anwendungen, die das EDM verwenden, müssen eine Konfigurationsdatei im Gültigkeitsbereich der ausführbaren Datei haben. Die Konfigurationsdatei enthält eine Verbindungszeichenfolge für die Schemas, die die Modelle und das Mapping definieren, eine Verbindungszeichenfolge für den Anbieter, die das Datenbankmanagementsystem angibt und einen Anbieternamen, der den System.Data.EntityClient-Namespace angibt.

<?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>

Anwendungscode

Im folgenden Code wird gezeigt, wie eine Verbindung mit dem Namen AdventureWorksEntities mit dem ObjectContext hergestellt wird. Befindet sich die Konfigurationsdatei der Anwendung im Gültigkeitsbereich, kann die Verbindung mit einer Codezeile hergestellt werden: AdventureWorksEntities db = new AdventureWorksEntities(). AdventureWorksEntities db = new AdventureWorksEntities().

Der ObjectContext bietet Zugriff auf die von Anwendungen verwendeten Datenauflistungen. Im folgenden Beispiel werden zuerst ein ObjectContext und alle Instanzen des Contact-Typs geöffnet. Im zweiten Schritt werden Instanzen von SalesOrderHeader aufgelistet und die auf einer Zuordnung zwischen SalesOrderHeader und Address basierende Navigationseigenschaft verwendet, um eine Zeile der Adresse zu finden und anzuzeigen.

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

Siehe auch

Konzepte

Konzeptionelles Schema für AdventureWorks Sales (EDM)
Speicherschema für AdventureWorks Sales (EDM)
AdventureWorks Sales-Mappingschema (EDM)