Beispiel #1
0
 /// <summary>
 /// 查询一个值
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <typeparam name="TValue"></typeparam>
 /// <param name="field"></param>
 /// <param name="condition"></param>
 /// <returns></returns>
 public static TValue ExecuteScalar <T, TValue>(this DbExecutor db, Expression <Func <T, TValue> > field, Expression <Func <T, bool> > condition) where T : class
 {
     using (ExpressionCondition expression = new ExpressionCondition())
     {
         expression.Visit(field);
         string sql = $"SELECT TOP 1 {expression.ToString()} FROM [{typeof(T).GetTableName()}]";
         expression.Visit(condition);
         sql += expression.ToCondition(out DynamicParameters parameters);
         object value = db.ExecuteScalar(CommandType.Text, sql, parameters);
         if (value == null)
         {
             return(default);