dapper - 返回INT列表

时间:2016-07-22 08:16:05

标签: c# dapper

从存储过程中,我将返回int的列表 - 只需

SELECT ID FROM Table

这是使用短小精悍。以下是我尝试做的尝试。我可以使用相同的方法填充对象,但不能填充int对象

List<int> ids = new List<int>();
int id = 0;

// Trying to fill a list of ints here
ids = connection.Query("storedprocedure", param, transaction: transaction, commandType: CommandType.StoredProcedure).Select(row => new int { id = row.ID }).ToList();

我认为它与声明末尾的=> new int有关。我相信解决方案非常简单。其中只有一个星期五...

干杯

2 个答案:

答案 0 :(得分:10)

我认为你应该从你的查询中指定你期望的类型,如下所示:

var ids = connection.Query<int>("storedprocedure", 
                                param, 
                                transaction: transaction, 
                                commandType: CommandType.StoredProcedure);

您可以查看此Execute a query and map the results to a strongly typed List以获取更多信息。

答案 1 :(得分:2)

这与.ToList() as IList<int>

非常相似
var ids = connection.Query<int>("storedprocedure", 
param, transaction:transaction, commandType: CommandType.StoredProcedure)
.ToList() as IList<int>