我使用dapper ORM,所以我使用两个规则Query<T>&QuerySingle<T>。查询返回列表,而QuerySingle返回单个对象。
Query<T>
QuerySingle<T>
所以,我想得到一个布尔型。(实际上我想得到一个布尔值是对还是错的记录)。
我的Query<T>:
public IEnumerable<T> Query<T>(string SqlString) where T : class { return this.conn.Query<T>(SqlString); }
那么我该如何写布尔类型返回?
因此,我想获取布尔类型。(实际上我想得到一个布尔值是对还是错的记录)
您可以编写这样的方法:
public bool GetBooleanValue(string sql) { return the_connection.Query<bool>(sql).FirstOrDefault(); }
的好处FirstOrDefault是,当您的查询返回空行时,Dapper会给您false。只要查询返回的值可以被数据提供者转换为布尔值,该建议的代码就可以使用。如果使用SQL Server,您将获得:
FirstOrDefault
false
GetBooleanValue("select 1");
GetBooleanValue("select 0");
其中 1和0是布尔类型的表列中的值。
1
0
如果要测试是否存在某些东西或一组值存在类似的东西,甚至可以使用代码GetBooleanValue("select COUNT(*) fromthe_table where the_column='some_filter'")。
GetBooleanValue("select COUNT(*) fromthe_table where the_column='some_filter'")