Exemplo n.º 1
0
        // Queryable's "single value" standard query operators call this method.
        // It is also called from QueryableTerraServerData.GetEnumerator().
        public TResult Execute <TResult>(Expression expression)
        {
            //bool IsEnumerable = (typeof(TResult).Name == "IEnumerable`1");

            var obj        = DataQueryContext.Execute <TResult>(expression);
            var resultType = typeof(TResult);

            if (resultType.IsValueType || resultType == typeof(string))
            {
                return(DataConvert.Convert <TResult>(obj));//例如求平均数,TResult可能是double,而实际得到的结果为int,int不能直接强制转换为double.
            }
            return((TResult)obj);
        }
Exemplo n.º 2
0
 public object Execute(Expression expression)
 {
     //return DataQueryContext.Execute(expression,false);
     return(DataQueryContext.Execute <object>(expression));
 }