iT邦幫忙

2

OpenAccess ORM for Oracle 實戰演練 Day 08

OpenAccess快速入門04
OpenAccess 快速入門將協助我們熟悉 OpenAccess,第四篇我們來談談 LINQ to OpenAccessContext,關於資料搜尋的基本議題。
在 OpenAccess ORM 架構中,程式是使用 LINQ to OpenAccessContext 來存取資料,所以顧名思義,當然要先有 OpenAccessContext 才能存取,這也就是先前 VerifyRLinq.vb 中,建構子所做的事。現在,我們可以試著透過 OpneAccess 來取回資料庫中,員工(Employees)資料表的內容:

Public Class VerifyRLinq
    Private cxt As SecondModel

    Public Sub New()
        cxt = New SecondModel()
    End Sub

    Public Function GetEmployeesCount() As Integer
        Dim query = From x In cxt.Employees Select x
        Return query.Count()
    End Function

End Class

我們加了一個 GetEmployeesCount 函式,裡面則是用一段 LINQ 來取得 SecondModel (OpenAccessContext 的子類別)中,Employees 屬性的資料:

如上圖所見,SecondModel.Employees 屬性回傳一個 IQueryable(Of Employees) 集合,集合中的 Employees 物件則是建立 rlinq 模型時,透過 T4 範本自動產生的類別,定義了許多可以對應回資料庫資料表欄位的屬性,也是我們撰寫 LINQ 時真正關心的對象。

※再提醒一次,關於 LINQ 的基礎,如同第一篇文章所言,是使用 OpenAccess ORM 之前的必備技能,所以這系列文件不會特別說明 LINQ 語法,請不熟悉的朋友閱讀去年鐵人賽我所撰寫的一系列 LINQ 文章,謝謝:LINQ 自學筆記。

我們可以到 Entities 目錄下找到 Employees.generated.vb,並將它開啟到編輯區看看其內容:

拉到 Employees 類別的最下面,我們還可以看到兩個導覽用的屬性:

這兩個導覽屬性,就是反應 Employees 和其他物件的關係:

有了基本的認識後,下一篇我們將進一步討論常見的關聯搜尋技巧。


尚未有邦友留言

立即登入留言