在Dapper中有一个ExecuteScalar

sgt*_*gtz 25 c# dapper

看起来Dapper中有一个ExecuteScalar ......

http://code.google.com/p/dapper-dot-net/issues/attachmentText?id=22&aid=220000000&name=ExecuteScalar.cs&token=9e2fd8899022f507b140ffb883c60e34

是否重命名或删除了ExecuteScalar?

现在可以用.Query或.Query <T>来实现吗?

Eva*_*n M 20

ExecuteScalar刚刚在1.28中添加:https://www.nuget.org/packages/Dapper

  • 1.42还有它.它使用底层的SqlCommand.ExecuteScalar(),它具有与.Single()和.First()不同的行为(特别是,如果没有记录返回,它将返回null).请参阅https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar(v=vs.110).aspx (2认同)

小智 10

我能够使用版本1.42.0调用ExecuteScalar <T>

    public Boolean BeforeToday(DateTime dateInQuestion)
    {
        try
        {
            using (var conn = new SqlConnection(ConnectionString))
            {
                String sql = @"SELECT CONVERT(bit, CASE WHEN getdate() > @dateParameter THEN 1 ELSE 0 END) AS BeforeToday";

                var result = conn.ExecuteScalar<Boolean>(sql, new { dateParameter = dateInQuestion });

                return result;
            }
        }
        catch (Exception)
        {
            return dateInQuestion < DateTime.Now;
        }
    }
Run Code Online (Sandbox Code Playgroud)