[C#] 初探Entity Framework (一) – 簡述

初步簡述:

  • .NET環境下的ORM技術(Object-Relational Mapping)
  • 理念是將資料庫的內容映射為物件,讓程式開發人員可以用操作物件的方式對資料庫進行操作,而不直接使用SQL語法對資料庫進行操作
  • 讓程式設計師不用管底層的資料庫系統是哪種廠牌或哪個版本的資料庫(如:SQL Server、Oracle、DB2、MySQL、Sybase、DBMaker…),僅須用同一套語法撰寫存取資料庫的邏輯


參考資料:

 

這篇先簡單測試Entity Framework的使用方法

 

今天向前輩Ivan學習了操作方法後

以圖片簡單表現出與舊版ADO.NET的差異性。

 

下圖是我們目前在DataTable創建的方式,或是也可以用DataSet的方式用VS的GUI建立。

2016-1-12 下午 03-22-20

而在使用資料時,就會如下圖,要以DataRow[“ColumnName”]的方式操作。

但這樣其實非常不方便,並且具有潛在的問題

若是ColumnName寫錯,必須要在程式執行後Debug才能發現

2016-1-12 下午 03-23-01

使用Entity Framework後,會自動建立如下圖的Class

它不只有DataSet的GUI設計模式,並且實際建立出屬於該Table的Class

操作資料時,就能夠直接地使用Class中的Propeties

2016-2-23 下午 07-15-43

其他優點:

  • 配合Linq或Lambda可以寫出簡潔的條件查詢
  • 與資料庫的動作,將根據資料變化,自動轉換為SQL語法
  • 理論上也能夠快速應對不同資料庫的轉換(ex. MS SQL, MySQL)
  • 增進程式的可維護性

缺點:

  • Entity Framework和Linq一樣能自動轉換語法,因此在大量資料,或是較複雜的條件查詢下,可能會有效能陷阱
    這時請利用Entity Framework開放的彈性空間,自行設計效能良好的演算法來執行動作。

 

下一篇:[C#] 初探Entity Framework (二) – 建立Entities

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s