我使用dapper ORM。所以我使用两个规则Query& QuerySingle。查询返回列表& QuerySingle返回单个对象。
所以,我想得到一个bool类型。(其实我想得到一个bool是真或假记录)
我的查询
public IEnumerable<T> Query<T>(string SqlString) where T : class
{
return this.conn.Query<T>(SqlString);
}
那么,我怎样才能写bool类型返回?
答案 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");
其中 1
和0
是布尔类型的表列中的值。
如果您想测试某些内容是否存在或者是否存在GetBooleanValue("select COUNT(*) from the_table where the_column='some_filter'")
之类的一组值,您甚至可以使用该代码。