public void UpdateTodayMatch() { DataClassesMatchDataContext matches = new DataClassesMatchDataContext(); var lt = matches.live_Table.OrderBy(o => o.s_date).ThenBy(p => p.s_time);//用lambda表达式简洁 foreach (var m in lt) { if (m.home_team_big != null) { //一一对应生成 live_Table_lib ltl = new live_Table_lib(); ltl.html_position = Int32.Parse(m.html_position); ltl.home_team_big = Int32.Parse(GetNumber(m.home_team_big)); ltl.away_team_big = Int32.Parse(GetNumber(m.away_team_big)); ltl.match_type = m.match_type.Trim(); if (m.s_date.IndexOf("-") != -1) temp_date = m.s_date.Substring(0, 10); ltl.match_time = DateTime.Parse(temp_date + " " + m.s_time); ltl.status = m.full_time_score.Replace(" ", "").Trim(); ltl.home_team = m.home_team.Trim(); ltl.away_team = m.away_team.Trim(); ltl.home_red_card = StringCount(m.home_team, " ", 0); ltl.away_red_card = StringCount(m.away_team, " ", 0); ltl.full_home_goals = null; ltl.full_away_goals = null; if (m.half_time_score.IndexOf("-") > 0) { ltl.half_home_goals = Int32.Parse(m.half_time_score.Substring(0, m.half_time_score.IndexOf("-"))); ltl.half_away_goals = Int32.Parse(m.half_time_score.Substring(m.half_time_score.IndexOf("-") + 1, m.half_time_score.Length - m.half_time_score.IndexOf("-") - 1)); } var rtExist = matches.live_Table_lib.Where(p => p.home_team_big == ltl.home_team_big && p.away_team_big == ltl.away_team_big); //let关键字,匿名类型 var rtUpdateExist = from p in rtExist let timeDiff = ltl.match_time.Value - p.match_time.Value where timeDiff.Days <= 1 where timeDiff.Days >= -1 select p; //存在记录的则做更新,必须确认是最新数据,即时间差不超过1天 if (rtUpdateExist.Any()) { var rtUpate = rtUpdateExist.First(); rtUpate.status = ltl.status; rtUpate.home_team = ltl.home_team; rtUpate.away_team = ltl.away_team; rtUpate.home_red_card = ltl.home_red_card; rtUpate.away_red_card = ltl.away_red_card; rtUpate.half_home_goals = ltl.half_home_goals; rtUpate.half_away_goals = ltl.half_away_goals; //matches.SubmitChanges(); } //不存在记录的此处做插入 else { matches.live_Table_lib.InsertOnSubmit(ltl); matches.SubmitChanges(); } } } matches.live_Table.DeleteAllOnSubmit(lt);//更新后删除 matches.SubmitChanges(); MessageBox.Show("OK"); //dataGridView1.DataSource = matches.live_Table_lib; }
partial void Updatelive_Table_lib(live_Table_lib instance);
partial void Deletelive_Table_lib(live_Table_lib instance);
partial void Insertlive_Table_lib(live_Table_lib instance);