AdventureWorks Sales 連接 (EDM)
若要使用 實體資料模型 (EDM) 上所建置的可程式化類別,必須開啟與資料之間的連接。與 Adventure Works Sales Model 的連接是根據提供者連接字串及 System.Data.EntityClient 命名空間的 ObjectContext。
應用程式組態檔
使用 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>
應用程式程式碼
下列程式碼示範如何開啟與名為 AdventureWorksEntities 之 ObjectContext 的連接。有了範圍內的應用程式組態檔時,可以使用這一行程式碼開啟連接: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)