關於DAPPER我有個問題
正常寫法大概是這樣
using (var cn = new SqlConnection(Untity.SqlConnection))
{
cn.Open();
List<Category> categorys = cn.Query<Category>("SELECT * FROM Category").ToList();
Console.WriteLine($"筆數{categorys.Count()}");
}
回傳時會明確的知道型別及回傳的欄位
然後我的WPF再綁定相對應的MODEL然後顯示
目前是有個問題
如果說我會根據不同條件在同一個頁面顯示不同TABLE的資料
可能我點選A選項就顯示A TABLE資料點選B就顯示 B TABLE資料
https://blog.darkthread.net/blog/dapper-return-datatable/
這個網站最符合我的要求,我需要轉成DATATABLE
只是不太清楚API該怎麼回傳
不知道這部分該如何寫QQ
更新:目前我是用ExecuteReaderAsync這個方法來處理
看了一下有查到結果
我希望能回傳到WPF然後再使用
var dt = new DataTable();
dt.Load(dr);
var row = dt.Rows[0];
這種方式來處理
可是我API那邊把結果轉成JSON的時候就一直卡住沒回應
以下是我回傳的方式
QueryResult = await conn.ExecuteReaderAsync(sSql);
if (QueryResult.HasRows)
{
json = JsonConvert.SerializeObject(QueryResult);
}
QueryResult的型別是DbDataReader
1013更新
我後來解掉了
大概是這樣寫
DataTable QueryResult = new DataTable();
var queryResult = await conn.ExecuteReaderAsync(sSql);
QueryResult.Load(queryResult);
最後回傳前再序列化就結束
如果說點A要A Table的資料,點B要B Table的資料,那就是做兩個API傳送資料,當點A傳A,點B傳B,或是做一個API,傳送A,B的資料,只是在WPF那邊切換就好