次のようなコードを使用するときに const 文字列を使用する必要があるかどうか疑問に思っています。
public DataTable GetSomeData(int id)
{
var con = new SqlConnection(ConnString);
const string sql = "SELECT * FROM [data] WHERE [id]=@id";
var cmd = new SqlCommand(sql, con);
cmd.Parameters.AddWithValue("@id", id);
var dt = new DataTable();
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
dt.Load(dr);
con.Close();
return dt;
}
ReSharper は、この方法で解決することを提案しましたが、実際には一定ではないため、そうすべきではないと言われました。パラメータを追加すると変化します。コードを実行しているサーバー上で一定であり、データベースに到達したときにのみ変更されるため、この方法は適切だと思いました。
それで、これを行う最善の方法は何ですか?