예제 #1
0
파일: SqlFuDao.cs 프로젝트: valipan/SqlFu
 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>()));
     }
 }
예제 #2
0
 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));
     }
 }
예제 #3
0
 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));
     }
 }