私は現在、Web サービスを使用していくつかの API を公開しているデータ アクセス レイヤーを持っています。
API 呼び出し
[WebMethod]
public List<GlobalStat> GetStats()
{
List<GlobalStat> Stats = new List<GlobalStat>();
string sql = @"
A huge multi-line SQL query
";
try
{
string ConString = Constants.connString;
con = new SqlConnection(ConString);
cmd = new SqlCommand(sql, con);
con.Open();
dr = cmd.ExecuteReader();
while (dr.Read())
{
GlobalStat stat = new GlobalStat();
stat.Key = dr[0].ToString();
stat.Value = int.Parse(dr[1].ToString());
Stats.Add(stat);
}
}
catch (Exception x)
{
Response.Write(x);
}
return Stats;
}
SQLの書き方が少し気になります。
これには、データベース名、テーブル名など、非常に多くのものがハードコーディングされています。
この問題を解決するには、すべての SQL コマンドを 1 か所にまとめた別のグローバル ファイルを作成するだけですか、それともより良いパラダイムがありますか? アプリケーション内で SQL テーブルを作成していませんが、これらのテーブルは別の構築済みデータベースに存在します。
インライン SQL を使用してデータベースからデータを生成するアプリケーションをどのように構築すればよいですか?