PLURALSIGHT NET ENTITY FRAMEWORK IN THE ENTERPRISE
PLURALSIGHTNETENTITYFRAMEWORKINTHEENTERPRISE英文正式版(Pluralsight出品EntityFramework系列視頻教程軟體)
內容說明:
ADO.NETEntityFramework是微軟以ADO.NET為基礎所發展出來的物件關聯對應(O/RMapping)
解決方案,早期被稱為ObjectSpace,現已經包含在VisualStudio2008ServicePack1以及
.NETFramework3.5ServicePack1中發表。

ADO.NETEntityFramework以EntityDataModel(EDM)為主,將資料邏輯層切分為三塊,分別為
ConceptualSchema,MappingSchema與StorageSchema三層,其上還有EntityClient,Object
Context以及LINQ可以使用。

背景

長久以來,程式設計師和資料庫總是保持著一種微妙的關係,在商用應用程式中,資料庫一定是不可或
缺的元件,這讓程式設計師一定要為了連接與存取資料庫而去學習SQL指令,因此在資訊業中有很多人
都在研究如何將程式設計模型和資料庫整合在一起,物件關聯對應(Object-RelationalMapping)的技
術就是由此而生,像Hibernate或NHibernate都是這個技術下的產物,而微軟雖然有了ADO.NET這個資料存
取的利器,但卻沒有像NHibernate這樣的物件對應工具,因此微軟在.NETFramework2.0發展時期,就提
出了一個ObjectSpace的概念,ObjectSpace可以讓應用程式可以用完全物件化的方法連接與存取資料庫,
其技術概念與NHibernate相當類似,然而ObjectSpace工程相當大,在.NETFramework2.0完成時仍無法全
部完成,因此微軟將ObjectSpace納入下一版本的.NETFramework中,並且再加上一個設計的工具
(Designer),構成了現在的ADO.NETEntityFramework。

EntityFramework利用了抽像化資料結構的方式,將每個資料庫物件都轉換成應用程式物件(entity),
而資料欄位都轉換為屬性(property),關聯則轉換為結合屬性(association),讓資料庫的E/R模型完全
的轉成物件模型,如此讓程式設計師能用最熟悉的程式語言來呼叫存取。而在抽像化的結構之下,則是高度
整合與對應結構的概念層、對應層和儲存層,以及支援EntityFramework的資料提供者(provider),讓
資料存取的工作得以順利與完整的進行。

*概念層:負責向上的物件與屬性顯露與存取。
*對應層:將上方的概念層和底下的儲存層的資料結構對應在一起。
*儲存層:依不同資料庫與資料結構,而顯露出實體的資料結構體,和Provider一起,負責實際對資料庫
的存取和SQL的產生。

架構

概念層結構
概念層結構定義了物件模型(ObjectModel),讓上層的應用程式碼可以如物件導向的方式般存取資料,概念
層結構是由CSDL(ConceptualSchemaDefinitionLanguage)所撰寫。

對應層結構

對應層結構負責將上層的概念層結構以及下層的儲存體結構中的成員結合在一起,以確認資料的來源與流向。
對應層結構是由MSL(MappingSpecificationLanguage)所撰寫。

儲存層結構

儲存層結構是負責與資料庫管理系統(DBMS)中的資料表做實體對應(PhysicalMapping),讓資料可以輸入正
確的資料來源中,或者由正確的資料來源取出。它是由SSDL(StorageSchemaDefinitionLanguage)所撰寫。

開發工具

目前ADO.NETEntityFramework的開發,在VisualStudio2008中有充分的支援,在安裝VisualStudio
2008ServicePack1後,檔案範本中即會出現ADO.NET實體資料模型(ADO.NETEntityDataModel)可讓
開發人員利用EntityModelDesigner來設計EDM,EDM亦可由Windows記事本等文字編輯器所編輯。

支援廠商

目前已有數個資料庫廠商或元件開發商宣佈要支援ADO.NETEntityFramework[5]:

*Mircosoft,支援MsSQL.
*CoreLab,支援Oracle、MySQL、PostgreSQL與SQLite資料庫。
*IBM,實作DB2使用的LINQProvider。
*MySQL,發展MySQLServer所用的Provider。
*Npqsql,發展PostgreSQL所用的Provider。
*OpenLinkSoftware,發展支援多種資料庫所用的Provider。
*PhoenixSoftwareInternational,發展支援SQLite資料庫的Provider。
*Sybase,將支援Anywhere資料庫。
*VistaDBSoftware,將支援VistaDB資料庫。
*DataDirectTechnologies,發展支援多種資料庫所用的Provider。
*Firebird,支援Firebird資料庫。
英文說明:
LearnhowEntityFrameworkfitsintoyouroverallsoftwaresolutionwhenusing
enterpriselevelarchitecture.You'llseehowtoimplementDDDBoundedContexts
withEF,RepositoryandUnitofWorkpatternsandavarietyofstylesofautomated
testing.ThiscourseisapplicabletoappsbuiltwithV2010,EF4.1+and.NET4as
wellaswithVS2012,EF5and.NET4.5.
相關商品:PLURALSIGHTNETQUERYINGTHEENTITYFRAMEWORK英文正式版(Pluralsight出品EntityFramework系列視頻教程軟體)PLURALSIGHTNETENTITYFRAMEWORK4.0BYEXAMPLE英文正式版(Pluralsight出品.Entity.Framework系列視頻教程軟體)(DVD版)PLURALSIGHTNETENTITYFRAMEWORK4.1CODEFIRST英文正式版(ENTITYFRAMEWORK系列視頻教程軟體)(DVD版)PLURALSIGHTNETENTITYFRAMEWORKANDDATAMODELS英文正式版(DVD版)PLURALSIGHTNETSHAREPOINT2010ADMINISTRATORRAMPUPPART7英文正式版(PLURALSIGHT出品SHAREPOINT2010視頻教學軟體)PLURALSIGHTNETSHAREPOINT2010ADMINISTRATORRAMPUPPART1英文正式版(PLURALSIGHT出品SHAREPOINT2010視頻教學軟體)PLURALSIGHTNETWINDOWSPHONE7.5INTEGRATIONFEATURES英文正式版(Windows手機7.5集成功能教程軟體)