private List <T> selectExVertical <T>(int index, int pageSize) where T : class, new() { List <t1_code> fileds = new t1_code().Select <t1_code>().ToList(); //Guid tableid = fileds.First().table_id; List <t1_house> infos = new t1_house().Select <t1_house>(index, pageSize, "createtime desc"); ConcurrentBag <T> res = new ConcurrentBag <T>(); Type typeInfo = typeof(T); var properties = typeInfo.GetProperties().ToList(); //计算机 内核数量 最大并发数 ParallelOptions opt = new ParallelOptions { MaxDegreeOfParallelism = 2 }; //List<FiledAuth> filedAuths = GetFiledAuth(tableName, "0c945d67-c95d-4ecc-8e7a-3e63e040ec7a"); Parallel.ForEach(infos, opt, info => { T model = new T(); //List<new_filed_modify_log> filedValues = total.Where(o => o.resource_id == info.id).ToList(); List <t1_history> filedValues = new t1_history(true).Select <t1_history>(o => o.houseid == info.id).ToList(); Parallel.ForEach(properties, opt, p => { t1_code filed = fileds.Where(o => o.name == p.Name).FirstOrDefault(); //if (filedAuths.Where(o => o.id == filed.id).FirstOrDefault().auth) //{ var value = filedValues.Where(o => o.codeid == filed.id).FirstOrDefault().value; Task.Run(() => { p.SetValue(model, value); }).ConfigureAwait(false); //} }); res.Add(model); }); return(res.ToList()); }
public void AddHouseData() { for (int i = 1; i <= 40000; i++) { t1_house house = new t1_house(); house.id = i; house.createtime = DateTime.Now; house.opreatorid = Guid.NewGuid(); house.Insert(); } }
public void AddT1_House() { for (int i = 1; i <= 40000; i++) { t1_house table = new t1_house() { id = i, createtime = DateTime.Now, opreatorid = Guid.NewGuid() }; table.Insert(); } }
public ResponseModel <ColumnModel> GetHouseSP(int pageIndex, int pageSize) { string storedProcedureName = "ROW2COL"; DynamicParameters parameters = new DynamicParameters(); parameters.Add("@resourceTableName", "t1_house", System.Data.DbType.String); parameters.Add("@pageIndex", pageIndex, System.Data.DbType.Int32); parameters.Add("@pageSize", pageSize, System.Data.DbType.Int32); List <ColumnModel> hList = new t1_house().StoredProcedure <ColumnModel>(storedProcedureName, parameters); ResponseModel <ColumnModel> resModel = new ResponseModel <ColumnModel>(hList); return(resModel); }
/// <summary> /// 90°+json格式分页查询 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="index"></param> /// <param name="pageSize"></param> /// <returns></returns> private List <T> selectNineJson <T>(int index, int pageSize) where T : class, new() { List <t1_code> fileds = new t1_code().Select <t1_code>().ToList(); List <t1_house> infos = new t1_house().Select <t1_house>(index, pageSize, "createtime "); ConcurrentBag <T> res = new ConcurrentBag <T>(); Type typeInfo = typeof(T); var properties = typeInfo.GetProperties().ToList(); ParallelOptions opt = new ParallelOptions { MaxDegreeOfParallelism = 2 }; Parallel.ForEach(infos, opt, info => { T model = new T(); List <t3_json> filedValues = new t3_json(true).Select <t3_json>(info.id, "houseid").ToList(); Parallel.ForEach(properties, opt, p => { t1_code filed = fileds.Where(o => o.name == p.Name).FirstOrDefault(); var value = filedValues.Where(o => o.codeid == filed.id).FirstOrDefault().jsonstr; if (value.Substring(0, 1) == "[") { List <T3_ModifyJsonModel> arrayjson = JsonConvert.DeserializeObject <List <T3_ModifyJsonModel> >(value); T3_ModifyJsonModel column = arrayjson.OrderByDescending(a => a.Column207).FirstOrDefault(); Task.Run(() => { p.SetValue(model, column.Column205); }).ConfigureAwait(false); } if (value.Substring(0, 1) == "{") { var json = JsonConvert.DeserializeObject <T3_ModifyJsonModel>(value); Task.Run(() => { p.SetValue(model, json.Column205); }).ConfigureAwait(false); } }); res.Add(model); }); return(res.ToList()); }