Соединение с моделью AdventureWorks Sales (модель EDM)
Чтобы использовать программируемые классы, построенные на основе модели Entity Data Model (модель EDM), необходимо установить соединение с данными. Соединение с моделью Adventure Works Sales основано на строке соединения поставщика и контексте ObjectContext пространства имен System.Data.EntityClient.
Файл конфигурации приложения
В области исполняемого файла приложения, использующего модель EDM, должен присутствовать файл конфигурации. Файл конфигурации содержит строку соединения, идентифицирующую схемы, которые определяют модели и сопоставления, строку соединения поставщика, определяющую систему управления базами данных и имя поставщика, определяющее пространство имен System.Data.EntityClient.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name=" AdvWksSalesEntities"
connectionString="metadata=.;
provider=System.Data.SqlClient;
provider connection string=
"Data Source=serverName;
Initial Catalog=AdventureWorks;
Integrated Security=True;
multipleactiveresultsets=true""
providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
Код приложения
Следующий код показывает, как открыть соединение с контекстом ObjectContext с именем AdventureWorksEntities. Если файл конфигурации приложения расположен в области выполняемого файла, соединение можно открыть одной строкой кода: AdventureWorksEntities db = new AdventureWorksEntities()
.
Контекст ObjectContext предоставляет доступ к коллекциям данных, используемым приложениями. В следующем примере сначала открываются контекст ObjectContext и все экземпляры типа Contact. Затем перечисляются экземпляры SalesOrderHeader и с помощью свойства навигации, основанном на ассоциации между экземплярами SalesOrderHeader и Address, находится и отображается одна строка адреса.
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());
}
}
}
}
См. также
Основные понятия
Концептуальная схема модели AdventureWorks Sales (модель EDM)
Схема хранилища модели AdventureWorks Sales (модель EDM)
Схема сопоставления модели AdventureWorks Sales (модель EDM)