iT邦幫忙

DAY 1
3

OpenAccess ORM for Oracle 實戰演練系列 第 1

OpenAccess ORM for Oracle 實戰演練 Day 01

Hello OpenAccess:安裝與建立專案
Telerik OpenAccess ORM Framework 是一套免費的 Object-Relational Mapping 工具,這篇文章為大家簡單說明 OpenAccess 的安裝流程,並建立第一個 OpenAccess 專案。請注意,文中不會說明什麼是 ORM,因為這類說明已經太多了,只會放相關連結讓大家自行參考。另外,此系列文章我將以 VB 來撰寫相關範例。
開始之前
會接觸到 Telerik OpenAccess,是因為工作環境的限制無法使用微軟官方的 Entity Framework,而評估各種免費的 ORM 框架,要嘛不支援 Oracle,要嘛就是不支援 VB,不然就是 Framework 要求 4.0。有支援 .Net 3.5 的 VB + Oracle 框架,又都是個人開發,應用在專案上怕未來會有維運的問題,所以都不敢用,最後選擇付費版的 Telerik OpenAccess。是的,其實以前 Telerik OpenAccess 是要付費的,記得應該是 2012/7 月時,Telerik 將它的授權改成免費版,差不多時間,Oracle 官方也正式推出支援 Entity Framework 的 ODAC 版本,所以會不會就是因為這樣,所以 OpenAccess 就免費了呢?我沒去查,但是真的很開心它免費,因為以現今免費的 ORM Framework 來說,OpenAccess 真的很好用,官方也提供很好的線上資源和文件。但話說在前頭,若您要應用的資料庫是 MS SQL,拜記,用 Microsoft Entity Framework 就好,同公司的產品,相容性最佳,別自找麻煩囉。

安裝之前,若您不清楚 ORM 是什麼,強烈建議您應該先閱讀以下文章:
ORM VS SQL
小朱的ORM系列文章
Wiki-物件關聯對映

另外,在 .Net Framework 中應用 ORM,那一定會使用 LINQ,去年鐵人賽我寫的就是 LINQ,所以沒有任何 LINQ 基礎的朋友,請務必閱讀相關文章。
第五屆鐵人賽文章索引-LINQ自學筆記

安裝 OpenAccess
請注意,我們的電腦必須符合以下需求才可安裝、應用 OpenAccess:
● Microsoft .NET Framework 3.5 SP1 或更新版本。
● Microsoft Visual Studio .NET 2008 SP1 或更新版本。

※ 這系列文章,我會在 Windows 8 作業系統中,使用 Visual Studio 2012 + .Net 4.5。想要跟著文章練習的朋友,請務必和我使用一樣的環境。
現在,我們要先去下載 OpenAccess:

  1. 進入 Telerik 官網的 OpenAccess ORM 頁面。
  2. 按 Free Download 下載 OpenAccess。

下載的程式其實是一個安裝介面,執行後會出現一個視窗,預設會勾選 OpenAccess 和其他幾個項目,當然我們可以只留下 OpenAccess 即可。相關安裝細節就不多說了,相信想要學習如何使用 ORM 框架的朋友,一定有下載、安裝程式的基本能力。

第一次親密接觸 OpenAccess
安裝完成後,啟動 Visual Studio 2012,第一個看到的改變是功能表上多了 TELERIK 項目:

現在我們來建立一個 OpenAccess 的 Web 專案吧,請執行【檔案/新增/專案】命令,並依下圖說明,建立一個使用 VB 的「Telerik OpenAccess Web Application」專案:

按【確定】鈕後,請耐心等候一會兒時間,接著會出現以下畫面,請先選擇「Empty domain model」和相關選項後,按【Next】鈕:

接下來『Define Relational Naming Settings』畫面,個人覺得是一個非常有趣、好玩,我常常很幼稚地在這個畫面就玩很久:

這個畫面分三個區塊:
● Name Generation Settings:Entity 的欄位名稱要跟隨什麼樣的命名規則。
● Summary:異動 Name Generation Settings 的設定,這裡說明會跟著改變,告訴我們目前這樣的設定值,會產生什麼樣的效能。個人覺得非常棒的一個設計。
● Preview Result:如果說明看不懂,或者想確認這樣設定會有什麼效能,可以在這個區塊的【Change Sample Text】欄位輸入名稱,然後看對應的變化。

強烈建議第一次接觸 OpenAccess 的朋友,好好玩弄一下這個頁面,建議在【Change Sample Text】中輸入「Default」,會看到明顯的變化喔!不過最後我通常還是選擇命名規則由開發人員自行處理,不要讓程式玩弄我們的程式 Smile with tongue out。玩夠了,記得按【Next】鈕進入最後一個畫面:

這個畫面,除了【Project Folder】會調整固定指向「Models」或「Entities」資料夾,其他選項我習慣是完全不改,而且目前為止,我也沒有什麼需求要調整這畫面的相關設定,所以請直接按【Finish】鈕。按了【Finish】,請再耐心等待一下,隨後 Visual Studio 2012 會跳出兩次安全性警告:

其實是因為 OpenAccess 會透過 T4 範例幫我們產生一些檔案,所以不用怕,【確定】鈕按下去就對了。接下來還會有一個安全性警告:

當然,請閱讀一下訊息文字,然後不要怕,【信任】鈕按下去就對了,這樣以後開這個專案或異動 Model 時,會比較方便,不會一直跳出安全性警告。VS2012 完成所有作業後,我們就要來看一下方案總管,了解目前方案程式架構:

我們會發現,其實方案中包含兩個專案,一個是 Web 專案,另一個其實是類別庫專案,而 OpenAccess 是存在於類別庫專案中,核心檔案就是「FirstModel.rlinq」。可是如果是這樣,為什麼我一開始不請大家建立「Telerik OpenAccess Class Library」專案就好?原因很簡單,因為要讓大家知道,若我們有專案要引用含有 OpenAccess 的類別庫時,除了加入該類別庫的參考外,其實還必須加入另外兩個 OpenAccess 的組件參考,不然編譯和執行都會有問題:

視覺化設計畫面
現在,請雙擊方案總管中的「FirstModel.rlinq」檔案:

VS2012 顯示的是 OpenAccess 預設的視覺化設計畫面,除了工具箱和中間的編輯視窗,另外三個重要的視窗分別是:
● 右上角Model Object Explorer:顯示 Model 中的物件。
● 右下角Model Schema Explorer:顯示 Model 中的 DB 物件。
● 畫面下方Mapping Details Editor:選擇的 Entity 之屬性,所對應的 DB Schema 欄位。

因為這次專案是選擇空的 Model,還不看不出三個視窗的用途,所以我抓一個有 Entity 的範例給大家看看:

下一篇文章,我們會對 rlinq 做進一步的分析和使用。


下一篇
OpenAccess ORM for Oracle 實戰演練 Day 02
系列文
OpenAccess ORM for Oracle 實戰演練26

1 則留言

我要留言

立即登入留言