Example #1
0
        public async Task <IEnumerable <Member> > List(int page, int pageSize)
        {
            using (var connection = _provider.GetDbConnection())
            {
                var parameters = new { Skip = (page - 1) * pageSize, Take = pageSize };

                var query = "select * from member order by create_time ";
                query += "limit @Skip , @Take ";

                return(await connection.QueryAsync <Member>(query, parameters));
            }
        }
Example #2
0
        /// <summary>
        /// query a connection and return a result
        /// </summary>
        /// <typeparam name="TReturnType">The type of the return type.</typeparam>
        /// <param name="query">The query.</param>
        /// <returns></returns>
        /// <remarks></remarks>
        public virtual TReturnType QueryConnection <TReturnType>(Func <IDbCommand, TReturnType> query)
        {
            TReturnType result;

            var connection = _connectionProvider.GetDbConnection();

            try
            {
                var command = connection.CreateCommand();
                connection.Open();
                result = query(command);
                connection.Close();
            }
            finally
            {
                if (connection != null)
                {
                    connection.Close();
                    connection.Dispose();
                }
            }

            return(result);
        }
        public async Task <IEnumerable <EquipmentDisp> > List(int page, int pageSize)
        {
            using (var connection = _provider.GetDbConnection())
            {
                var parameters = new { Skip = (page - 1) * pageSize, Take = pageSize };

                var query = @"SELECT e.id,e.serial,e.`name`,b.`name` bname,m.username,e.bind_status,e.create_time FROM `equipment` e
                                LEFT JOIN birdhouse b on e.birdhouse_id = b.id
                                LEFT JOIN member m on e.member_id = m.id
                                LIMIT @Skip , @Take";

                return(await connection.QueryAsync <EquipmentDisp>(query, parameters));
            }
        }