所有ORM功能裡,資料選取應該是占據最大的部份,今天先從如何使用PK選取單筆資料講起。
Kuick 提供 2 種以主鍵(PK)選取該筆資料的方法,無論資料表屬於「單一主鍵」與「複合主鍵」都有支援。
<Get 方法>
大部份的資料表都是單一主鍵,只需直接將 PK 值當作 Get 方法的傳入參數,即可取得該筆資料。Get 方法支援主鍵資料型態為 string 以及 integer,如果是複合主鍵,Get 多載方法提供 lambda 作為條件參數。
// 「單一主鍵」取資料,以PK值選取該筆資料
EmployeeEntity kevin = EmployeeEntity.Get("kevin");
// 「單一主鍵」取資料,以lambda條件選取該筆資料
EmployeeEntity kevin = EmployeeEntity.Get(x =>
x.EmployeeID == "kevin"
);
// 「複合主鍵」取資料,以lambda條件選取該筆資料
OrderDetailEntity detail = OrderDetailEntity.Get(x =>
x.OrderID == "201310080001"
&
x.ProductID == "ISBN978-986-123-924-8"
);
<QueryFirst 方法>
QueryFirst 方法僅回傳查詢結果的第一筆資料,此方法提供 lambda 作為條件參數,如果以主鍵為選取條件時,結果與使用 Get 方法相同。
// 「單一主鍵」取資料,以 lambda 條件選取該筆資料
EmployeeEntity kevin = EmployeeEntity.QueryFirst
(x =>
x.EmployeeID == "kevin"
);
// 「複合主鍵」取資料,以 lambda 條件選取該筆資料
OrderDetailEntity detail = OrderDetailEntity.QueryFirst (x =>
x.OrderID == "201310080001"
&
x.ProductID == "ISBN978-986-123-924-8"
);