PLURALSIGHT NET ENTITY FRAMEWORK IN THE ENTERPRISE 英文正式版(Pluralsight 出品 Entity Framework系列視頻教程軟體)
內容說明:
ADO.NET Entity Framework 是
微軟以 ADO.NET 為基礎所發展出來的物件關聯對應 (O/R Mapping)
解決方案,早期被稱為 ObjectSpace,現已經包含在 Visual Studio 2008 Service Pack 1 以及
.NET Framework 3.5 Service Pack 1 中發表。
ADO.NET Entity Framework 以 Entity Data Model (EDM) 為主,將資料邏輯層切分為三塊,分別為
Conceptual Schema, Mapping Schema 與 Storage Schema 三層,其上還有 Entity Client,Object
Context 以及 LINQ 可以使用。
背景
長久以來,程式設計師和資料庫總是保持著一種微妙的關係,在商用應用程式中,資料庫一定是不可或
缺的元件,這讓程式設計師一定要為了連接與存取資料庫而去學習 SQL 指令,因此在資訊業中有很多人
都在研究如何將程式設計模型和資料庫整合在一起,物件關聯對應 (Object-Relational Mapping) 的技
術就是由此而生,像Hibernate或NHibernate都是這個技術下的產物,而
微軟雖然有了ADO.NET這個資料存
取的利器,但卻沒有像NHibernate這樣的物件對應工具,因此
微軟在.NET Framework 2.0發展時期,就提
出了一個ObjectSpace的概念,ObjectSpace可以讓應用程式可以用完全物件化的方法連接與存取資料庫,
其技術概念與NHibernate相當類似,然而ObjectSpace工程相當大,在.NET Framework 2.0完成時仍無法全
部完成,因此
微軟將ObjectSpace納入下一版本的.NET Framework中,並且再加上一個設計的工具
(Designer),構成了現在的 ADO.NET Entity Framework。
Entity Framework 利用了抽像化資料結構的方式,將每個資料庫物件都轉換成應用程式物件 (entity),
而資料欄位都轉換為屬性 (property),關聯則轉換為結合屬性 (association),讓資料庫的 E/R 模型完全
的轉成物件模型,如此讓程式設計師能用最熟悉的程式語言來呼叫存取。而在抽像化的結構之下,則是高度
整合與對應結構的概念層、對應層和儲存層,以及支援 Entity Framework 的資料提供者 (provider),讓
資料存取的工作得以順利與完整的進行。
* 概念層:負責向上的物件與屬性顯露與存取。
* 對應層:將上方的概念層和底下的儲存層的資料結構對應在一起。
* 儲存層:依不同資料庫與資料結構,而顯露出實體的資料結構體,和 Provider 一起,負責實際對資料庫
的存取和 SQL 的產生。
架構
概念層結構
概念層結構定義了物件模型 (Object Model),讓上層的應用程式碼可以如物件導向的方式般存取資料,概念
層結構是由 CSDL (Conceptual Schema Definition Language) 所撰寫。
對應層結構
對應層結構負責將上層的概念層結構以及下層的儲存體結構中的成員結合在一起,以確認資料的來源與流向。
對應層結構是由 MSL (Mapping Specification Language) 所撰寫。
儲存層結構
儲存層結構是負責與資料庫管理系統(DBMS)中的資料表做實體對應 (Physical Mapping),讓資料可以輸入正
確的資料來源中,或者由正確的資料來源取出。它是由 SSDL (Storage Schema Definition Language) 所撰寫。
開發工具
目前 ADO.NET Entity Framework 的開發,在 Visual Studio 2008 中有充分的支援,在安裝 Visual Studio
2008 Service Pack 1 後,檔案範本中即會出現 ADO.NET 實體資料模型 (ADO.NET Entity Data Model) 可讓
開發人員利用 Entity Model Designer 來設計 EDM,EDM 亦可由Windows記事本等文字編輯器所編輯。
支援廠商
目前已有數個資料庫廠商或元件開發商宣佈要支援 ADO.NET Entity Framework[5]:
* Mircosoft,支援MsSQL.
* Core Lab,支援Oracle、MySQL、PostgreSQL 與 SQLite 資料庫。
* IBM,實作 DB2 使用的 LINQ Provider。
* MySQL,發展 MySQL Server 所用的 Provider。
* Npqsql,發展 PostgreSQL 所用的 Provider。
* OpenLink Software,發展支援多種資料庫所用的 Provider。
* Phoenix Software International,發展支援 SQLite 資料庫的 Provider。
* Sybase,將支援 Anywhere 資料庫。
* VistaDB Software,將支援 VistaDB 資料庫。
* DataDirect Technologies,發展支援多種資料庫所用的 Provider。
* Firebird,支援 Firebird 資料庫。
英文說明:
Learn how Entity Framework fits into your overall software solution when using
enterprise level architecture. You'll see how to implement DDD Bounded Contexts
with EF, Repository and Unit of Work patterns and a variety of styles of automated
testing. This course is applicable to apps built with V2010, EF4.1+ and .NET 4 as
well as with VS2012, EF5 and .NET 4.5.
相關商品:
PLURALSIGHT NET QUERYING THE ENTITY FRAMEWORK 英文正式版(Pluralsight 出品 Entity Framework系列視頻教程軟體)
PLURALSIGHT NET ENTITY FRAMEWORK 4.0 BY EXAMPLE 英文正式版(Pluralsight出品.Entity.Framework系列視頻教程軟體)(DVD版)
PLURALSIGHT NET ENTITY FRAMEWORK 4.1 CODE FIRST 英文正式版(ENTITY FRAMEWORK系列視頻教程軟體)(DVD版)
PLURALSIGHT NET ENTITY FRAMEWORK AND DATA MODELS 英文正式版(DVD版)
PLURALSIGHT NET SHAREPOINT 2010 ADMINISTRATOR RAMP UP PART 7 英文正式版(PLURALSIGHT 出品 SHAREPOINT 2010 視頻教學軟體)
PLURALSIGHT NET SHAREPOINT 2010 ADMINISTRATOR RAMP UP PART 1 英文正式版(PLURALSIGHT 出品 SHAREPOINT 2010 視頻教學軟體)
PLURALSIGHT NET WINDOWS PHONE 7.5 INTEGRATION FEATURES 英文正式版(Windows手機7.5集成功能教程軟體)