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 AddTableData() { for (int i = 1; i <= 200; i++) { string name = "column"; t1_code code = new t1_code(); code.id = i; code.name = name + i.ToString(); code.Insert(); } }
public void AddTest() { int id = 0; for (int i = 1; i <= 40000; i++) { t1_code code = new t1_code(); PropertyInfo[] properties = code.GetType().GetProperties(); int z = 1; foreach (var p in properties) { t1_history model = new t1_history(); if (p.Name == "column2" || p.Name == "column3" || p.Name == "column4" || p.Name == "column5" || p.Name == "column6" || p.Name == "column7" || p.Name == "column8" || p.Name == "column9" || p.Name == "column10" || p.Name == "column11" || p.Name == "column12" || p.Name == "column13" || p.Name == "column14") { for (int j = 1; j <= 14; j++) { id = id + 1; model.id = id; model.codeid = z; model.houseid = i; model.value = $"{i}-{p.Name}{z}-{j}"; model.createtime = DateTime.Now; model.opreatorid = Guid.NewGuid(); } } else { id = id + 1; model.id = id; model.codeid = z; model.houseid = i; model.value = $"{i}-column{z}"; model.createtime = DateTime.Now; model.opreatorid = Guid.NewGuid(); } model.Insert(); z = z + 1; } } }
// <summary> /// 90°+json格式单值查询 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="index"></param> /// <param name="pageSize"></param> /// <returns></returns> private List <T> nineJsonModel <T>(string id) where T : class, new() { List <t1_code> fileds = new t1_code().Select <t1_code>().ToList(); ConcurrentBag <T> res = new ConcurrentBag <T>(); Type typeInfo = typeof(T); var properties = typeInfo.GetProperties().ToList(); ParallelOptions opt = new ParallelOptions { MaxDegreeOfParallelism = 2 }; T model = new T(); List <t3_json> filedValues = new t3_json(true).Select <t3_json>(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) == "[") { if (p.Name == "Column10") { List <T3_ModifyTelModel> stel = JsonConvert.DeserializeObject <List <T3_ModifyTelModel> >(value); T3_ModifyTelModel columntel = stel.OrderByDescending(a => a.Column204).FirstOrDefault(); Task.Run(() => { p.SetValue(model, columntel); }).ConfigureAwait(false); } else { List <T3_ModifyJsonModel> ss = JsonConvert.DeserializeObject <List <T3_ModifyJsonModel> >(value); T3_ModifyJsonModel column = ss.OrderByDescending(a => a.Column207).FirstOrDefault(); Task.Run(() => { p.SetValue(model, column.Column205); }).ConfigureAwait(false); } } if (value.Substring(0, 1) == "{") { var aa = JsonConvert.DeserializeObject <T3_ModifyJsonModel>(value); Task.Run(() => { p.SetValue(model, aa.Column205); }).ConfigureAwait(false); } }); res.Add(model); return(res.ToList()); }
/// <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()); }