public static T GetValue <T>(this DbConnection cnx, string sql, params object[] args) { using (var cmd = cnx.CreateAndSetupCommand(sql, args)) { return(cmd.GetValue(PocoFactory.GetConverter <T>())); } }
public T ExecuteScalar <T>(Func <object, T> converter = null) { using (_cmd) { FormatCommand(); object rez; try { rez = _cmd.ExecuteScalar(); Db.OnCommand(_cmd); } catch (Exception ex) { Db.OnException(this, ex); throw; } finally { _db.CloseConnection(); } if (converter == null) { converter = PocoFactory.GetConverter <T>(); } return(converter(rez)); } }
public static async Task <T> GetValueAsync <T>(this DbConnection cnx, CancellationToken token, string sql, params object[] args) { using (var cmd = cnx.CreateAndSetupCommand(sql, args)) { return(await cmd.GetValueAsync <T>(PocoFactory.GetConverter <T>(), token)); } }