| 方法 | SQL (SQL Server) | 語意 |
|---|---|---|
| Contain("kw") | LIKE '%kw%' | 全模糊(包含) |
| BeginWith("kw") | LIKE 'kw%' | 左比對(開頭) |
| EndWith("kw") | LIKE '%kw' | 右比對(結尾) |
// ProductName 包含 "apple"
Products._.ProductName.Contain("apple")
// ProductName 以 "apple" 開頭
Products._.ProductName.BeginWith("apple")
// ProductName 以 "apple" 結尾
Products._.ProductName.EndWith("apple")
DbSession.Default.From()
.Where(Products._.CategoryID.SelectIn(1, 2, 3))
.ToList();
SQL:WHERE [CategoryID] IN (@p0, @p1, @p2),參數自動化。
.Where(Products._.CategoryID.SelectIn(1, 2, 3)) // 推薦
.Where(Products._.CategoryID.SelectNotIn(1, 2, 3))
SQL:WHERE [CategoryID] NOT IN (@p0, @p1, @p2)
@p0, @p1...),執行計畫可重用。JOIN 暫存表或 EXISTS 子查詢。Contain 產生 LIKE '%kw%' 無法使用索引,大量資料考慮 Full-Text Search。var list = DbSession.Default.From()
.Where(
Products._.ProductName.Contain("apple") &&
Products._.UnitPrice > 10 &&
Products._.CategoryID.SelectIn(1, 2, 3))
.OrderBy(Products._.UnitPrice.Desc)
.Page(20, 1)
.ToList();
模糊查詢、範圍比較、In 清單無縫組合,強型別、零字串拼接,是 Hxj.Data 查詢 API 表達力的核心展現。