此時 SQL 語言無法直接查詢,許多開發者採用建立暫存表等繞路方案。
.NET 類庫內建 DataView 類別,其 RowFilter 屬性提供強大查詢功能,**無需 SQL、無需資料庫連線、純記憶體操作**。
private DataTable MakeTable()
{
DataTable dt = new DataTable("本地數據表");
// ID 欄位
DataColumn col = new DataColumn("ID", typeof(int))
{
ReadOnly = true,
Unique = true
};
dt.Columns.Add(col);
// 商品名稱
dt.Columns.Add("商品名稱", typeof(string));
// 商品價格
dt.Columns.Add("商品價格", typeof(decimal));
// 測試資料
dt.Rows.Add(1, "足球", 57.5m);
dt.Rows.Add(2, "籃球", 64.5m);
dt.Rows.Add(3, "網球", 6.5m);
dt.Rows.Add(4, "網球拍", 388.5m);
return dt;
}
| 暫存表方案 | DataView 方案 |
|---|---|
| 需資料庫連線與權限 | 純記憶體,零依賴 |
| 建表/寫入/查詢/刪表多步驟 | 一行 RowFilter 完成 |
| 效能開銷大 | 極快,適合高頻查詢 |
| 併發需鎖表管理 | 線程安全(單執行緒場景) |