2016-07-26 6 views
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のクラウドを使用していること

答えて

0

てMySQLのタイムアウトを増やしてみてください。

チェックアウトこの同様のスレッド: How can I change the default Mysql connection timeout when connecting through python?

+0

おかげで、私は1000件の以上のレコードを削除したいです。時間が増えても問題は解決しません。私はそこに一括削除する方法があります。 – khorshid

+0

foreachループを使用して削除を試してください。 foreach(agSharesのvar agShare){ context.SecurityDataShares.Remove(agShare); } context.SaveChanges(); –