共用方式為


產生 Entity Data Model

以 實體資料模型 (EDM) 為基礎的 實體架構 應用程式和服務。 此模型會將應用程式資料表示為一組對應到已定義資料來源的實體和關聯性。 EDM 是由表示為實體和關聯性的概念模型、表示邏輯模型結構描述的儲存模型,以及這兩者之間的對應所構成。 專案的開發階段通常是以概念模型開始,然後再從概念模型衍生出邏輯模型。

為滿足想要從現有資料庫衍生 實體資料模型 之開發人員的需求,實體架構 提供了一組產生 EDM、驗證 EDM,以及依據概念模型建立可程式化類別的工具。 EDM 產生器 (EdmGen.exe) 命令提示字元公用程式可以讓您產生具有實體與資料來源中資料表之間一對一對應的簡單模型。 您也可以使用 EdmGen.exe 來產生以實體類型為基礎的資料類別,也可用來驗證 EDM。 EdmGen.exe 是 .NET Framework 3.5 Service Pack 1(SP1) 中 實體架構 執行階段元件的一部分。

Visual Studio 2008 SP1 包含一組整合式 實體資料模型 工具,可產生包括從資料來源所選取之物件的模型。 然後您可以使用 Entity Data Model Designer 修改此概念模型和對應,完成應用程式所需的概念模型。 如需詳細資訊,請參閱 Entity Data Model 工具

考量因素

產生 EDM 時請列入以下考量因素:

  • 所有實體都必須有索引鍵。 如果資料庫中的資料表沒有主索引鍵的,EDM 工具會嘗試為對應的實體推斷索引鍵。 此外,EDM 工具也會在存放結構描述中產生 DefiningQuery 項目,讓此實體的資料成為唯讀。 如果要讓此實體資料能夠更新,您必須將產生的索引鍵指定為有效索引鍵,然後移除這個 DefiningQuery 項目。

  • 表示資料庫中兩個資料表之間多對對關聯性的資料表,在概念模型中可能沒有相對的實體。 當 EDM 工具遇到這類資除了兩個外部索引鍵之外沒有其他資料行的料表時,這個對應資料表將會在概念結構描述中表示為多對多關聯,而不是實體。 School 模型中的 CourseInstructor 關聯就是這種行為的範例。 如需詳細資訊,請參閱產生 School Entity Data Model (Entity Framework 快速入門)

  • 在這個版本中,實體資料模型 工具僅支援依據現有資料來源自動產生 EDM。 您無法依據概念模型自動產生資料來源,例如關聯式資料庫。

School 模型

「使用者入門」一節中的主題會參考名為 School 的範例資料庫。 如需在 SQL Server 上產生 School 資料庫的資料碼,請參閱建立 School 範例資料庫 (Entity Framework 快速入門)

School 資料庫包含以下資料表:

  • Course

  • CourseGrade

  • CourseInstructor

  • Department

  • OfficeAssignment

  • OnlineCourse

  • OnsiteCourse

  • Person

這個範例資料庫的特點是包含許多 Entity Data Model 工具支援的複雜模型案例。 指令碼會建立資料表之間的關聯性並且插入範例資料,讓您能夠執行範例來查看它們如何運作。 以下所示為 ADO.NET 實體資料模型設計工具中顯示的 School EDM。

Entity Designer 中的 School EDM

另請參閱

概念

將概念模型對應到儲存結構描述
Entity Framework 中的資料模型化

其他資源

設定 Entity Framework (Entity Framework 工作)
使用者入門 (Entity Framework)
Entity Data Model 工具
EDM 規格
結構描述和對應規格 (Entity Framework)