SQL接続のベストプラクティスは何ですか?SQL Server接続の管理
現在、私は次のように使用しています:
using (SqlConnection sqlConn = new SqlConnection(CONNECTIONSTRING))
{
sqlConn.Open();
// DB CODE GOES HERE
}
私は、これはSQL接続を行うための非常に効果的な方法であることを読んだことがあります。デフォルトではSQLプールはアクティブなので、using
コードの終了時にSqlConnection
オブジェクトがクローズされて破棄されても、実際のDBへの接続はSQL接続プールに置かれます。これについて間違っていますか?
ポイント1:私は、接続文字列をapp/web.configのセクションに保存します。 ポイント2:これは何か心配する必要がありますか?私は通常、SqlConnectionを行い、それを開いてから、sqlCommandを作成し、そこから取得します。 ポイント3:私たちはすべてのDBアクセスをクラスlibから行います。私はコアアプリケーションからDBアクセスを行うのが好きではありません。 getConnectionメソッドを作成するのは私の価値がありますか? –
Neale
すべてのdbアクセスにクラスlibを使用するので、接続文字列をアプリケーション全体にグローバルになる.configファイルではなく、クラスlibの.configファイルの一部にするのは簡単です。これは、きれいなデータレイヤの分離を実行するのに十分なはずですが、同時にメソッドをパブリックにする理由もありません。それはポイント1と3を扱っているはずです。ポイント2については、余分な1行か2行のために何かを傷つけることはないでしょうが、どちらも助けていません。私は別の理由でそれをやりたければ編集しています。 –
あなたの 'yield return'の例は、やや誤解を招く例です。 'yield return'の周りに構築された関数は' IEnumerator'の 'MoveNext()'の最初の呼び出しまでexecutigを開始しません。したがって、たとえ関数を呼び出しても、結果を反復処理するまで接続は開かれません。 –