Dapper:“SELECT COUNT(*)FROM TableName”的结果

时间:2016-12-16 22:24:45

标签: dapper-simplecrud

我有以下代码:

@objc

这可以在rtn变量中恢复1条记录。当我检查变量时,它似乎有2个成员,一个是“[0]”,另一个是“原始视图”。

成员[0]的类型是int并且具有期望值,但我似乎无法在我的代码中获得该值。这似乎是一个愚蠢的问题,因为我应该能够达到它,但不能。最新的尝试如下:

string sql = "SELECT COUNT(*) FROM " + tableName;
var rtn = DapperConnection.Query<int>(sql);

然而,这给了我一个编译器错误。如何在我的代码中获得此值?

2 个答案:

答案 0 :(得分:31)

请不要这样做!它很脆弱,并引入了一个巨大的SQL注入漏洞。如果您可以使用一行非常富有表现力的代码返回给定表的计数,并且没有漏洞,为什么要使用它?

DapperConnection.ExecuteScalar<int>("SELECT COUNT(*) FROM customers");

// You will be happier and live longer if you avoid dynamically constructing 
// sql with string concat.

答案 1 :(得分:4)

使用rtn.First() - 这是一个枚举,这是获得它的第一个(也是在这种情况下)项目的一般方法。