iT邦幫忙

2024 iThome 鐵人賽

DAY 0
0
自我挑戰組

ASP.NET Core生成網站記錄系列 第 17

DAY18- z_sqlCityAreas

  • 分享至 

  • xImage
  •  

public class z_sqlCityAreas : DapperSql
public class z_sqlCityAreas: 宣告一個公開的類別 z_sqlCityAreas,用來管理 CityAreas 相關的資料庫操作。
: DapperSql: 類別繼承自 DapperSql。這是一個泛型類別,代表 Dapper 操作與 CityAreas 表相關的實作。
3. 建構子
csharp
複製程式碼
public z_sqlCityAreas()
{
OrderByColumn = SessionService.SortColumn;
OrderByDirection = SessionService.SortDirection;
DefaultOrderByColumn = "CityAreas.AreaName";
DefaultOrderByDirection = "ASC";
if (string.IsNullOrEmpty(OrderByColumn)) OrderByColumn = DefaultOrderByColumn;
if (string.IsNullOrEmpty(OrderByDirection)) OrderByDirection = DefaultOrderByDirection;
}
public z_sqlCityAreas(): 定義了建構子,用來在建立此類別時初始化一些屬性。
OrderByColumn = SessionService.SortColumn;: 從 SessionService 中讀取當前的排序欄位,並將其賦值給 OrderByColumn。
OrderByDirection = SessionService.SortDirection;: 從 SessionService 中讀取當前的排序方向(ASC 或 DESC)。
DefaultOrderByColumn = "CityAreas.AreaName";: 如果沒有設定排序欄位,則默認使用 CityAreas 表的 AreaName 欄位。
DefaultOrderByDirection = "ASC";: 默認的排序方向為升序(ASC)。
if (string.IsNullOrEmpty(OrderByColumn)) OrderByColumn = DefaultOrderByColumn;: 如果 OrderByColumn 是空的,則使用默認的排序欄位。
if (string.IsNullOrEmpty(OrderByDirection)) OrderByDirection = DefaultOrderByDirection;: 如果 OrderByDirection 是空的,則使用默認的排序方向。
4. GetCityAreaList 方法
csharp
複製程式碼
public List GetCityAreaList(string cityName)
{
string str_query = GetSQLSelect();
str_query += " WHERE CityAreas.CityName = @CityName ";
str_query += GetSQLOrderBy();
DynamicParameters parm = new DynamicParameters();
parm.Add("CityName", cityName);
var model = dpr.ReadAll(str_query, parm);
return model;
}
public List GetCityAreaList(string cityName): 定義一個公開的方法,返回一個 CityAreas 列表,用來取得特定城市下的區域資料。
string str_query = GetSQLSelect();: 呼叫基類中的 GetSQLSelect() 方法,這個方法應該會生成查詢的 SELECT 語句。
str_query += " WHERE CityAreas.CityName = @CityName ";: 在 SQL 查詢語句中添加條件,過濾 CityName 欄位等於傳入參數 cityName 的紀錄。
str_query += GetSQLOrderBy();: 在 SQL 語句末尾添加排序語句,根據之前設定的排序欄位和方向進行排序。
DynamicParameters parm = new DynamicParameters();: 使用 Dapper 的 DynamicParameters 類別來處理 SQL 參數。
parm.Add("CityName", cityName);: 將 cityName 參數添加到查詢中,並將其綁定到 @CityName。
var model = dpr.ReadAll(str_query, parm);: 使用 Dapper 的 ReadAll 方法執行查詢,並將結果轉換為 CityAreas 的列表。
return model;: 返回查詢結果列表。
5. GetDropDownList 方法
csharp
複製程式碼
public List GetDropDownList(string cityName)
{
string str_query = "SELECT AreaName AS Value, AreaName AS Text FROM CityAreas WHERE CityName = @CityName ORDER BY AreaName";
DynamicParameters parm = new DynamicParameters();
parm.Add("CityName", cityName);
var model = dpr.ReadAll(str_query, parm);
return model;
}
public List GetDropDownList(string cityName): 定義一個方法,返回 SelectListItem 列表,用於產生下拉選單中的資料項。
string str_query = "SELECT AreaName AS Value, AreaName AS Text FROM CityAreas WHERE CityName = @CityName ORDER BY AreaName";: 定義一個 SQL 查詢,選擇 AreaName 作為下拉選單的 Value 和 Text,並按 AreaName 排序。
DynamicParameters parm = new DynamicParameters();: 創建一個 DynamicParameters 對象來處理查詢參數。
parm.Add("CityName", cityName);: 將 cityName 綁定到查詢參數 @CityName。
var model = dpr.ReadAll(str_query, parm);: 使用 Dapper 的 ReadAll 方法執行查詢,並將結果轉換為 SelectListItem 列表。
return model;: 返回結果,用於在下拉選單中顯示。


上一篇
DAY17- 轉移專區(模組化)
下一篇
DAY19- Employee Crud
系列文
ASP.NET Core生成網站記錄31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言