まず最初に、サーバー データベース接続をできるだけ早く閉じることが良い方法である理由を理解しました。
ローカル データベース (5 テーブル ~ 200 列) を含むプログラムを開発していますが、数千行になる可能性があります (オーバーヘッドが大きすぎるとは思えません)。私が最初に考えたのは、プログラムが閉じられるまでローカル db 接続を維持することでした。
これで問題ないか確認してください。または、これをやりたくない理由を教えてください。
まず最初に、サーバー データベース接続をできるだけ早く閉じることが良い方法である理由を理解しました。
ローカル データベース (5 テーブル ~ 200 列) を含むプログラムを開発していますが、数千行になる可能性があります (オーバーヘッドが大きすぎるとは思えません)。私が最初に考えたのは、プログラムが閉じられるまでローカル db 接続を維持することでした。
これで問題ないか確認してください。または、これをやりたくない理由を教えてください。
ADO.NETは、ほとんどのデータベースエンジンと組み合わせて、デフォルトでバックグラウンドで自動接続プールを提供します。ADO.NETが接続を開いたままにしておく必要はまったくありません。とにかく接続を開いたままにして、再度開いたときに元に戻します。閉じるだけで、心配することが1つ少なくなります。
接続を開いたままにしておきたい特別な理由はありますか?それで何を達成したいですか?
データベースがプログラムの単一のインスタンスを提供するシングルユーザーアプリケーションの場合、理論的には問題はないと思います。ただし、アプリケーションを、同じデータベースに対して実行している複数のユーザーが使用するアプリケーションに変える必要がある場合は、問題になる可能性があります。
私は言うだろう; 本当に正当な理由がない限り、推奨される方法に固執してください。
@Fredrikはい、ユーザープロファイルのlocalDBへの単一ユーザー接続になります。開いたままにしておくことを考えた唯一の理由は、再接続時に発生する可能性のある例外を回避することですが、接続プールの応答がそれを要約していると思うので、終了したら喜んで閉じます。
@DrJokepu乾杯