Exemple #1
0
 /// <summary>
 ///  从 <see cref="IDbQueryable{TSource}"/> 创建 <see cref="DataSet"/>
 /// </summary>
 /// <typeparam name="TSource">source 的元素类型</typeparam>
 /// <param name="source">查询序列</param>
 /// <returns></returns>
 public static async Task <DataSet> ToDataSetAsync <TSource>(this IDbQueryable <TSource> source)
 {
     return(await source.ExecuteAsync <DataSet>());
 }
Exemple #2
0
        /// <summary>
        /// 返回指定序列中满足条件的元素数量
        /// </summary>
        /// <typeparam name="TSource">source 的元素类型</typeparam>
        /// <param name="source">查询序列</param>
        /// <param name="predicate">用于测试每个元素是否满足条件的函数</param>
        /// <returns></returns>
        public static async Task <int> CountAsync <TSource>(this IDbQueryable <TSource> source, Expression <Func <TSource, bool> > predicate)
        {
            IDbQueryable <int> query = source.CreateQuery <int>(DbExpressionType.Count, predicate);

            return(await query.ExecuteAsync <int>());
        }
Exemple #3
0
        /// <summary>
        /// 返回序列中满足指定条件的第一个元素,如果未找到这样的元素,则返回默认值
        /// </summary>
        /// <typeparam name="TSource">source 的元素类型</typeparam>
        /// <param name="source">查询序列</param>
        /// <param name="predicate">用于测试每个元素是否满足条件的函数</param>
        /// <returns></returns>
        public static async Task <TSource> FirstOrDefaultAsync <TSource>(this IDbQueryable <TSource> source, Expression <Func <TSource, bool> > predicate = null)
        {
            IDbQueryable <TSource> query = source.CreateQuery <TSource>(DbExpressionType.FirstOrDefault, predicate);

            return(await query.ExecuteAsync <TSource>());
        }
Exemple #4
0
        /// <summary>
        /// 确定序列是否包含任何元素
        /// </summary>
        /// <typeparam name="TSource">source 的元素类型</typeparam>
        /// <param name="source">查询序列</param>
        /// <returns></returns>
        /// <param name="predicate">用于测试每个元素是否满足条件的函数</param>
        /// <returns>如果源序列中存在元素通过了指定谓词中的测试,则为 true;否则为 false</returns>
        public static async Task <bool> AnyAsync <TSource>(this IDbQueryable <TSource> source, Expression <Func <TSource, bool> > predicate)
        {
            IDbQueryable <bool> query = source.CreateQuery <bool>(DbExpressionType.Any, predicate);

            return(await query.ExecuteAsync <bool>());
        }