ADO.NET 2.0 MARS

Multiple Active Result Sets の略です。

簡単に紹介します。まず、前提条件ですが SQL Server 2005/2008 を使うことになります。
今までの ADO.NET では、一つの接続を使って、データ操作を行う際、例えば、
DataReader を使ったデータ操作を行うと、DataReader をクローズしないと、同じ接続でデータ操作を
することができませんでした。(SQL 例外が発生した)

ところが、ADO.NET 2.0 の SqlDataReader を使うと、オープンした状態のままでも別のデータ操作を
行うことができちゃいます!なんてこった!
使い方は…

接続文字列に 「MultipleActiveResultSets=True」 と指定するだけです。 あら、簡単。

ただし、この機能は使いすぎには要注意!結果的にはサーバー接続を増やすことになるので、
サーバーへの負荷がかかります。
必要なときだけにしましょうね。