OpenAccess快速入門06

  • 915
  • 0

OpenAccess快速入門06

DotBlogs Tags: , , ,

OpenAccess 快速入門將協助我們熟悉 OpenAccess,第六篇來看看實體關聯的設定。

----------

前一篇我們透過很簡單的兩個 LINQ 語法,就可以輕鬆的完成關聯式查詢,是因為在模型中,我們已經事先設定好兩個實體的對應關係。現在我們回到模型(SecondModel.rlinq)中,關注一下 Employees 和 Orders 的關聯屬性。請選擇兩個實體間的連線,切換到屬性視窗:

0100552

屬性視窗中顯示了連線名稱為 OrdersHasEmployees,並包含了一些屬性資料,原則上我們都不大會去調整,不過還是有幾個屬性要注意一下,實務上可能會異動:

  • Is Dependent:設定 Entity 是否要依賴關聯的另一邊的 Entity。在刪除關聯資料時,這個屬性會有影響。預設值應該都是 False。
  • Load Behavior:設定 Entity 的關聯資料之預設載入行為。Default 表示執行時期自動判斷載入行為,另外還可以設定為 Lazy 和 Eager。Lazy 表示程式真的要取用資料時,才載入關聯資料,Eager 表示在 Entity 資料載入時,其關聯資料就一併載入。

另外,於連線的設定,可以按【Association Settings】欄位值旁邊的【…】鈕,或在關聯線上按滑鼠右鍵,執行【Edit Association】命令,開啟 OpenAccess 提供的關聯編輯視窗:

0101342

0101502

這個關聯編輯視窗,可以選擇從 Object View 或 Relational View 來檢視、編輯兩個實體之間的關係。在 Object View 中,下面有個【Tips】區塊,雖然都是英文,但是它描述了目前設定的關聯,請大家要看清楚。以目前這個 OrdersHasEmployees 的關聯中,它說明了:

  1. Orders 可以擁有一個 Employees 執行個體(instance)。使用 Orders.Employees 屬性,可以取得和目前 Orders 關聯的 Employees 執行個體。
  2. Employees 可以擁有多個 Orders 執行個體。使用 Employees.Orders 屬性,可以取得目前 Employees 所關聯的所有 Orders 執行個體。

0102072

目前,北風資料庫中的關聯,範例提供的 Script 中都已設定完成,所以暫時不需要異動,因此關聯設定請看倌們暫時看看、知道有這個地方可以調整實體關係即可,之後會有另外幾篇文章專門說明如何在模型中自訂一對多、多對多,以一對一的關聯屬性。

--------
沒什麼特別的~
不過是一些筆記而已