示例#1
0
        public static List <T> GetList <T>(QueryInfo <T> model)
        {
            var getModel = model.GetModel;
            var list     = new List <T>();

            using (var db = new DbBuilder(model.Config))
            {
                var reader = db.GetDataReader(model.SqlString, model.Parameters);
                if (getModel != null)
                {
                    while (reader.Read())
                    {
                        list.Add(getModel(reader));
                    }
                }
                else
                {
                    var builder = EntityBuilder <T> .CreateBuilder(reader);

                    while (reader.Read())
                    {
                        list.Add(builder.Build(reader));
                    }
                }
            }
            return(list);
        }
示例#2
0
 protected virtual T ConvertEntity(IDataReader reader)
 {
     if (_builder == null)
     {
         _builder = EntityBuilder <T> .CreateBuilder(reader);
     }
     return(_builder.Build(reader));
 }
示例#3
0
        public static List <T> GetList(IDataReader reader)
        {
            List <T>          list    = new List <T>();
            EntityBuilder <T> builder = EntityBuilder <T> .CreateBuilder(reader);

            while (reader.Read())
            {
                T model = default(T);
                model = builder.Build(reader);
                list.Add(model);
            }
            return(list);
        }
示例#4
0
        public static List <T> GetList <T>(PageInfo <T> model)
        {
            if (string.IsNullOrWhiteSpace(model.StrSelect))
            {
                model.StrSelect = "*";
            }
            if (model.Config == null)
            {
                throw new Exception("Config不能为空!");
            }
            if (string.IsNullOrWhiteSpace(model.StrFrom))
            {
                throw new Exception("StrFrom不能为空!");
            }
            if (string.IsNullOrWhiteSpace(model.StrOrder))
            {
                throw new Exception("StrOrder不能为空!");
            }

            var getModel = model.GetModel;
            var list     = new List <T>();

            using (var db = new DbBuilder(model.Config))
            {
                string sql         = "select count(1) as tcount from (" + model.StrFrom + ") where 1=1 " + model.StrWhere;
                var    recordCount = (int)new DbBuilder(model.Config).GetSingle(sql, model.Parameters);
                sql = SqlHelper.GetSqlString(model.StrFrom, model.PageSize, model.PageIndex, recordCount, "*", model.StrWhere, model.StrOrder, model.Config);
                var reader = db.GetDataReader(sql, model.Parameters);
                if (getModel != null)
                {
                    while (reader.Read())
                    {
                        list.Add(getModel(reader));
                    }
                }
                else
                {
                    var builder = EntityBuilder <T> .CreateBuilder(reader);

                    while (reader.Read())
                    {
                        list.Add(builder.Build(reader));
                    }
                }
            }
            return(list);
        }