小编典典

布尔类型返回规则

sql

我使用dapper ORM,所以我使用两个规则Query<T>QuerySingle<T>。查询返回列表,而QuerySingle返回单个对象。

所以,我想得到一个布尔型。(实际上我想得到一个布尔值是对还是错的记录)。

我的Query<T>

public IEnumerable<T> Query<T>(string SqlString) where T : class
{
    return this.conn.Query<T>(SqlString);
}

那么我该如何写布尔类型返回?


阅读 294

收藏
2021-05-16

共1个答案

小编典典

因此,我想获取布尔类型。(实际上我想得到一个布尔值是对还是错的记录)

您可以编写这样的方法:

public bool GetBooleanValue(string sql)
{
    return the_connection.Query<bool>(sql).FirstOrDefault();
}

的好处FirstOrDefault是,当您的查询返回空行时,Dapper会给您false。只要查询返回的值可以被数据提供者转换为布尔值,该建议的代码就可以使用。如果使用SQL
Server,您将获得:

  • 适用于 GetBooleanValue("select 1");
  • 为FALSE GetBooleanValue("select 0");

其中 10是布尔类型的表列中的值。

如果要测试是否存在某些东西或一组值存在类似的东西,甚至可以使用代码GetBooleanValue("select COUNT(*) fromthe_table where the_column='some_filter'")

2021-05-16