探秘ADO.NET Entity Framework之旅開始
前一段時間園子里有很多文章介紹分析了Linq To SQL,它可以說是一個簡單實現(xiàn)的ORM,是微軟針對數(shù)據(jù)和對象的阻抗不平衡的問題。C# 3.0推出一些新的特性,比如Extension Method, Lambda Expression, Anonymous Type,其實這些新特性都是用來為Linq服務(wù)。
Linq To SQL將程序員從以往寫大量的sql查詢語句、取值、賦值中解放出來,在intellisense和編譯上做了很多工作,使得這些查詢能夠在編譯期進(jìn)行檢查。同時微軟推出ADO.NET Entity Framework,即下一代的ADO.NET。它是比Linq To SQL更加強大的ORM,讓開發(fā)人員只需要著眼于領(lǐng)域?qū)ο竽P偷拈_發(fā),而不需要考慮它們是如何與關(guān)系數(shù)據(jù)庫交互。#t#
本文由一個簡單的例子進(jìn)行介紹Entity Framework是如何使用的。在此之前,必須下載ADO.NET Entity Framework runtime 和tools,官方也提供了很多示例下載。下面正式開始ADO.NET Entity Framework之旅(開發(fā)工具VS 2008 beta,以Northiwind數(shù)據(jù)庫為例)。
首先建立一個Console project(要選擇.NET Framework 3.5),然后點擊Add New Item,看見ADO.NET Entity Data Model選項:
然后會出現(xiàn)Wizard,選擇數(shù)據(jù)庫,選擇表、視圖、存儲過程等,按照向?qū)б徊讲絹砭涂梢粤?,在這里只選擇Customers和Orders表。在Solution Explore視圖里面點擊Northwind.edmx,可以看到Entity的信息(看上去很像Linq To SQL的dbml設(shè)計視圖),然后將它們改名為Customer和Order。