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 bool ScoreCacheAddOne() { ScoreCache scoreCache = ExtendMethord.GetScore(); if (scoreCache.scoreMap.ContainsKey(GuidName)) { scoreCache.scoreMap[GuidName] = scoreCache.scoreMap[GuidName] + 1; scoreCache.scoreMap["ModifyFlag"] = 1; } else { scoreCache.scoreMap[GuidName] = 1; scoreCache.scoreMap["ModifyFlag"] = 1; } return(true); }