2012-04-04 2 views
0

Ich habe eine Methode, die eine sehr große SQL-Abfrage direkt in der CS-Datei enthält. Was wäre die empfohlene Refactoring Methode sein?Umgestalten SQL-Abfrage aus dem Quellcode

+1

den Datenbank-Code verschieben, wo es gehört ... eine gespeicherte Prozedur erstellen. – Aliostad

Antwort

2

Sie könnten die große komplexe SQL-Abfrage in eine SQL-Ansicht oder eine gespeicherte Prozedur einfügen und diese im Code verwenden.

1

sollten Sie gespeicherte Prozedur verwenden

string commandText = "SP_Your_Sp_Name"; 

using (SqlConnection objSqlConnection = Connection) 

{ 

    using (SqlCommand cmd = new SqlCommand(commandText, objSqlConnection)) 
    { 
     cmd.CommandType = CommandType.StoredProcedure; 
     cmd.Parameters.Add(new SqlParameter("@Parameter_Name", value)); 
     if (cmd.Connection.State != ConnectionState.Open) 
     { 
      cmd.Connection.Open(); 
     } 
     result = (string)cmd.ExecuteScalar(); 
    } 
} 
+0

Was auf dem Server speichern Verfahren schafft, ist nicht einfach (aus irgendeinem Grund) – Zapacila

0

eine gespeicherte Prozedur verwenden. In diesem Fall wird die Ausführung der Abfrage wird schneller sein, wenn der Ausführungsplan im Cache gespeichert ist.