public void Group(int count) { ProductGroupEntities pg = new ProductGroupEntities(); DateTime dtToday = Convert.ToDateTime(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd")); //今天 DateTime dtNexDay = Convert.ToDateTime(DateTime.Now.AddDays(2).ToString("yyyy-MM-dd")); //明天 pg.Groups.RemoveRange(pg.Groups.Where(w => w.Date > dtToday && w.Date < dtNexDay)); pg.SaveChanges(); var list = new List <Product>(); var alllist = new List <Product>(); var toady = DateTime.Now.AddDays(1); list = pg.Products.Where(w => w.CreateDate.Value.Month == toady.Month && w.CreateDate.Value.Day == toady.Day).ToList(); foreach (var a in list) { for (int i = 0; i < a.OrderCount; i++) { alllist.Add(a); } } List <List <Product> > zh = new List <List <Product> >(); var task = 0; List <Group> te = new List <Group>(); while (getcount(alllist) > count - 1 && forcount < 15000) { forcount++; var arritem = getArrayItems(alllist, count); zh.Add(arritem); string proid = ""; string name = ""; foreach (var p in arritem) { proid += p.Id + "|"; } task++; name += "" + DateTime.Now.AddDays(1).ToString("MMdd") + "Q"; var l = 4 - task.ToString().Length; for (var p = 0; p < l; p++) { name += "0"; } name += task; pg.Groups.Add(new Group { TaskID = name, ProId = proid, Date = DateTime.Now.AddDays(1) }); te.Add(new Group { TaskID = name, ProId = proid, Date = DateTime.Now.AddDays(1) }); } pg.SaveChanges(); foreach (var a in alllist) { var gro = pg.Groups.FirstOrDefault(w => w.Date > dtToday && w.Date < dtNexDay && w.ProId == a.Id.ToString()); if (gro != null) { gro.SurplusCount += 1; } else { pg.Groups.Add(new Group { TaskID = "0", ProId = a.Id.ToString(), SurplusCount = 1, Date = DateTime.Now.AddDays(1) }); } pg.SaveChanges(); } }