【发布时间】:2017-05-27 20:10:30
【问题描述】:
我需要使用 C# 7 中的新元组从 dapper 返回一个列表。
public static List<(int StyleId, decimal StyleCode)> GetOnlyServices()
{
var query = $@" SELECT
ST.style_id as StyleId, ST.style_code as StyleCode
...
...";
using (SqlConnection db = new SqlConnection(InfobaseConString))
{
var a = db.Query<(int StyleId, decimal StyleCode)>(query, commandTimeout: 90).ToList();
return a;
}
}
但是这个函数只返回 56 行 (0,0), Item1=0, Item2=0。
我错过了什么?
【问题讨论】:
-
您期待什么结果?
-
值...我在所有 56 行中只得到 0,0...我期望值...查询是正确的。如果我改变 var a = db.Query(query, commandTimeout: 90);我得到正确的数据 [2] = {{DapperRow, StyleId = '534', StyleCode = '10000005'}}
-
既然如此,如果 Dapper 还不支持此功能,我也不会感到惊讶。在project's site 上发布问题可能会更好。
-
如果 Dapper 已经支持 C#7 功能,我会感到非常惊讶。我知道马克和尼克在球上,但我怀疑他们现在正在担心这个。
-
或者看看this answer,也许你可以使用
Query签名和Tuple.Create参数