OpenAccess快速入門04
OpenAccess 快速入門將協助我們熟悉 OpenAccess,第四篇我們來談談 LINQ to OpenAccessContext,關於資料搜尋的基本議題。
----------
在 OpenAccess ORM 架構中,程式是使用 LINQ to OpenAccessContext 來存取資料,所以顧名思義,當然要先有 OpenAccessContext 才能存取,這也就是先前 VerifyRLinq.vb 中,建構子所做的事。現在,我們可以試著透過 OpneAccess 來取回資料庫中,員工(Employees)資料表的內容:
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 和其他物件的關係:
有了基本的認識後,下一篇我們將進一步討論常見的關聯搜尋技巧。
--------
沒什麼特別的~
不過是一些筆記而已