2016-07-26 3 views
0

Ich habe Schlepptau Tabelle in MySqlTime Out Daten in MySql in Löschen mit MVC Asp.net

Students:

sCode sName depart 

Grad

gID grade sCode 

Ich mag löschen Schüler und verwandte Noten basierend auf dem Parameter "Abreise".

Ich verwende in meinem studentContrller Depart Aktion löschen:

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"); 
    } 

Das Problem occourd in der ersten Stufe Aufzeichnungen in Grade Tabelle in löschen. Der Prozess löschte ein paar Datensätze (3-10) Datensätze und Timeout im Browser passiert, wie es lange dauert. Meine Frage: ist meine Löschmethode das Problem? Wenn ja, wie kann ich es besser machen?

Das Problem tritt auf db.SaveChanges();

Hinweis: Ich bin mit Google Cloud als MySQL Host

Antwort

0

Versuchen Timeout Ihrer mySQL zu erhöhen.

Schauen Sie sich diese ähnlichen Thread: How can I change the default Mysql connection timeout when connecting through python?

+0

Danke, aber ich will mehr als 1000 Datensätze löschen. und zunehmende Zeit wird das Problem nicht lösen. mein sein dort ist eine Möglichkeit, Massen zu löschen. – khorshid

+0

Versuchen Sie, mit foreach loop zu löschen. foreach (var agShare in agShares) { context.SecurityDataShares.Remove (agShare); } context.SaveChanges(); –