public static bool UpdateDB() {//一次性打包更新 try { var ScoreMapCach = ExtendMethord.GetScore().scoreMap; if (ScoreMapCach["ModifyFlag"] == 0) { return(false); } var temp = ScoreMapCach.Where(c => true); DbContext db = DBContextFactory.CreateDbContext(); //@刘剑_1989: 更新是这样的, //T existing = Context.Set<T>().Find //如果 existing == null, Context.Set<T>().Add(item); //否则, 将 item 的值赋给 existing(不包括主键的值), //最后,Context.SaveChanges foreach (var item_ in temp) { var tempModels = db.Set <ExtensionAgents>().Where <ExtensionAgents>(c => c.GUID == item_.Key); var Scores = tempModels.Select(c => c.ExtensionScore).FirstOrDefault() + item_.Value; foreach (var item in tempModels) { ExtensionAgents EA = db.Set <ExtensionAgents>().Find(item.ID); if (EA != null) { EA.DelFlag = item.DelFlag; EA.ExtensionScore = Scores; EA.ID = item.ID; EA.GUID = item.GUID; EA.LName = item.LName; EA.Remark = item.Remark; EA.RouteStatisticsLinks_ID = item.RouteStatisticsLinks_ID; EA.ModifiedOn = DateTime.Now; EA.Sort = item.Sort; EA.ExtensionUrl = item.ExtensionUrl; EA.SubTime = item.SubTime; EA.UrlName = item.UrlName; } else { return(false); } } } db.SaveChanges(); List <string> list = new List <string>(); list.AddRange(ScoreMapCach.Keys); foreach (var item in list) { ScoreMapCach[item] = 0; //计数以后清空 } ScoreMapCach["ModifyFlag"] = 0; // 修改位置为0 } catch (Exception e) { return(false); } return(true); }
public ActionResult AddAgentInfo(ExtensionAgents extensionAgents) { extensionAgents.SubTime = DateTime.Now; extensionAgents.ModifiedOn = DateTime.Now; extensionAgents.Sort = "0"; extensionAgents.DelFlag = 0; extensionAgents.ExtensionScore = 0; if (extensionAgents.UrlName == null) { return(Content("no")); } string[] temp = extensionAgents.UrlName.Split(','); if (temp.Length != 2) { return(Content("no")); } else { extensionAgents.GUID = Guid.NewGuid().ToString("N"); extensionAgents.RouteStatisticsLinks_ID = int.Parse(temp[0]); extensionAgents.ExtensionUrl = ExtendMethord.ExUrlCreate(extensionAgents.GUID); extensionAgents.ExtensionScore = 0; extensionAgents.UrlName = temp[1]; extensionAgentsService.AddEntity(extensionAgents); Dictionary <string, string> Dic = new Dictionary <string, string> { { extensionAgents.GUID, routeStatisticsLinksService.LoadEntities(c => c.ID == extensionAgents.RouteStatisticsLinks_ID).Select(c => c.Url).FirstOrDefault() } }; if (ExtendMethord.GetUrl().URLMap != null) { ExtendMethord.GetUrl().URLMap = Dic; // 更新内存值,这里的等号相当于添加 } } return(Content("ok")); }