多くのインラインSQLクエリを使用するasp.net Webサイトで作業しています...その場でインラインクエリを作成するのが最善かどうか疑問です:インラインSQLクエリのベストプラクティス
int i = 500;
using (SqlConnection conn = new SqlConnection(connStr))
{
SqlCommand com = new SqlCommand(conn);
...
com.CommandText = "select from table where column < @parameter";
...
}
または、アプリケーションに必要なすべてのクエリを保持するクラスを持つこと。このようなもの:
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;
}
}
ありがとうございます!
インダイレクションアプローチ番号2を使用する場合は、SQLを含むクエリ名でインデックスされた辞書を作成することをお勧めします。次に、辞書の初期化子を使用して、すべてのクエリをソースコードのほぼテーブルのようにリストすることができます。あなたの現在のアプローチは冗長で、コピー・ペースト・エラーの影響を受けやすい(現時点では、少なくともコンパイラによって発見されるものが少なくとも1つあります)。新しい辞書 {{"query1"、 "select * ..."}、{"query2"、 "select * ..."}}; ' –
ありがとう皆さん!あまりにも私は複数の答えを選択することはできません:( – user1481183