Exemplo n.º 1
0
        /// <summary>
        /// 执行查询并返回首行
        /// </summary>
        /// <param name="query">要执行的查询对象</param>
        /// <returns>查询结果</returns>
        public static DataRow ExecuteFirstRow(this IDbExecutableQuery query)
        {
            //UNDONE

            var data = query.ExecuteDataTable();

            if (data.Rows.Count > 0)
            {
                return(data.Rows[0]);
            }

            else
            {
                return(null);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 查询数据库并将第一个结果集填充实体类型
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="query">要执行的查询</param>
        /// <param name="converter">实体转换器</param>
        /// <returns>实体集</returns>
        public static T[] ExecuteEntities <T>(this IDbExecutableQuery query, Func <DataRow, T> converter)
        {
            var data = query.ExecuteDataTable();

            return(data.GetRows().Select(dataItem => converter(dataItem)).ToArray());
        }
Exemplo n.º 3
0
        /// <summary>
        /// 查询数据库并将第一个结果集填充实体类型
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="query">要执行的查询</param>
        /// <param name="converter">实体转换器</param>
        /// <returns>实体集</returns>
        public static T[] ExecuteEntities <T>(this IDbExecutableQuery query, IEntityConverter <T> converter) where T : new()
        {
            var data = query.ExecuteDataTable();

            return(data.GetRows().Select(dataItem => dataItem.ToEntity(converter)).ToArray());
        }
Exemplo n.º 4
0
        /// <summary>
        /// 执行查询并将第一个结果集填充动态对象列表
        /// </summary>
        /// <param name="query">要执行的查询</param>
        /// <returns>查询结果</returns>
        public static dynamic[] ExecuteDynamics(this IDbExecutableQuery query)
        {
            var data = query.ExecuteDataTable();

            return(ToDynamics(data));
        }
Exemplo n.º 5
0
 /// <summary>
 /// 执行查询并将第一行数据数据转换为 DataRowView 返回
 /// </summary>
 /// <param name="query">要执行的查询</param>
 /// <returns>转换为 DataRowView 的数据集合</returns>
 public static DataRowView ExecuteFirstDataRowView(this IDbExecutableQuery query)
 {
     return(query.ExecuteDataTable().GetRowViews().FirstOrDefault());
 }
Exemplo n.º 6
0
 /// <summary>
 /// 执行查询并将数据转换为 DataRowView 集合返回
 /// </summary>
 /// <param name="query">要执行的查询</param>
 /// <returns>转换为 DataRowView 的数据集合</returns>
 public static IEnumerable <DataRowView> ExecuteDataRowViews(this IDbExecutableQuery query)
 {
     return(query.ExecuteDataTable().GetRowViews());
 }
Exemplo n.º 7
0
 /// <summary>
 /// 执行查询并返回第一列数据
 /// </summary>
 /// <typeparam name="T">列类型</typeparam>
 /// <param name="query">要执行的查询</param>
 /// <returns>第一列的数据</returns>
 public static T[] ExecuteFirstColumn <T>(this IDbExecutableQuery query)
 {
     return(query.ExecuteDataTable().Column <T>());
 }