0
を使用してMySQLのデータを削除するには、私は、MySQLタイムアウトMVC Asp.net
に学生牽引テーブルを持っている:
sCode sName depart
学年
gID grade sCode
を私は削除したいです生徒および関連成績をDepartパラメータに基づいて計算します。私は私のstudentContrllerで出発アクションを削除使用してい
:
public ActionResult DeleteDepartConfirmd(string Depart)
{
var codes = db.students.Where(d => d.Depart == Depart).Select(s => s.sCode);
var grades = db.grades.Where(s => codes.Contains(s.sCode));
db.grades.RemoveRange(grades);
db.SaveChanges();
var students = db.students.Where(d => d.Depart == Depart);
db.students.RemoveRange(students);
db.SaveChanges();
return RedirectToAction("studentsByDepart");
}
問題はグレードテーブル内のレコードを削除するには最初の段階でoccourd。 このプロセスでは、レコードが少数(3〜10)削除され、ブラウザにタイムアウトが発生したため、タイムアウトが発生します。 私の質問:私の削除方法は問題ですか?はい、どうすればいいですか?
問題が発生します。db.SaveChanges();
注:私は、MySQLのホストとして、Googleのクラウドを使用していること
おかげで、私は1000件の以上のレコードを削除したいです。時間が増えても問題は解決しません。私はそこに一括削除する方法があります。 – khorshid
foreachループを使用して削除を試してください。 foreach(agSharesのvar agShare){ context.SecurityDataShares.Remove(agShare); } context.SaveChanges(); –