小巧玲珑的bool类型返回规则

时间:2015-07-07 18:56:54

标签: c# sql asp.net-mvc orm dapper

我使用dapper ORM。所以我使用两个规则Query& QuerySingle。查询返回列表& QuerySingle返回单个对象。

所以,我想得到一个bool类型。(其实我想得到一个bool是真或假记录)

我的查询

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

那么,我怎样才能写bool类型返回?

1 个答案:

答案 0 :(得分:11)

  

所以,我想得到一个bool类型。 (其实我想得到一个布尔是真的   或虚假记录)

您可以编写如下方法:

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

关于FirstOrDefault的美妙之处在于,当您的查询返回空行时,Dapper将为您提供false。只要您的查询返回一个可由数据提供程序转换为布尔值的值,那么建议的代码就会起作用。如果是SQL Server,您将获得:

  • GetBooleanValue("select 1");
  • 为真
  • GetBooleanValue("select 0");
  • 为FALSE

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

如果您想测试某些内容是否存在或者是否存在GetBooleanValue("select COUNT(*) from the_table where the_column='some_filter'")之类的一组值,您甚至可以使用该代码。