Estoy trabajando con un sitio web asp.net que utiliza muchas consultas SQL en línea ... y me pregunto si es mejor crear las consultas en línea sobre la marcha:Mejores prácticas para consultas SQL en línea
int i = 500;
using (SqlConnection conn = new SqlConnection(connStr))
{
SqlCommand com = new SqlCommand(conn);
...
com.CommandText = "select from table where column < @parameter";
...
}
O para tener una clase para albergar todas las consultas necesarias para la aplicación. Algo como esto:
class SqlQueries
{
private string query1 =
"select * from tblEmployees where EmployeeName = @EmployeeName";
private string query2 =
"select * from tblVacation where EmployeeName = @EmployeeName";
public string Query(string s)
{
string str = string.Empty;
switch (s)
{
case "query1":
str = query1;
break;
case "query2":
str = query2;
break;
}
return str;
}
}
¡Gracias!
Si decide tomar el enfoque indirecto número 2, le sugiero que cree un diccionario indexado por nombres de consulta que contengan el SQL. A continuación, puede usar un inicializador de diccionario para enumerar todas sus consultas casi de forma similar a una tabla en su código fuente. Su enfoque actual es detallado y susceptible de copiar y pegar errores (actualmente hay al menos uno que será descubierto por el compilador). 'new Dictionary {{" query1 "," select * ... "}, {" query2 "," select * ... "}};' –
¡Gracias a todos! Lástima que no puedo seleccionar varias respuestas :( – user1481183