.NETからSQL Serverを使用すると、(同じ接続または別の接続を使用して)基になるデータと、下位トランザクションデータとコミットされていないトランザクションデータの両方を読み取る
例えば:
私は、トランザクションを開始し、テーブルに、id == 1でレコードを挿入するが、接続2からそれを
をコミットしていない接続1を、持っている、私が読みたいです既存の行がないテーブル
Connection2またはConnection3から、行が存在するテーブルを読みたいと思います。あなたは一つの接続で「スナップショット分離」の組み合わせを必要とし、「非コミット読み取り」たいデータの両方のセットを読み取るには
:
gbnが正解です。しかし、私はあなたに警告する必要があります - パフォーマンス上の理由から私はこの道を数年前に下ってしまい、問題を引き起こしました。クエリを高速化しようとすると、クエリにもっと時間を費やし、SQL Serverでロックを適切に実行させることができます。 – n8wrl
なぜですか?それぞれの接続は他のトランザクションを気にするべきではありません。 – gbn
それは[this](http://stackoverflow.com/questions/4725512/)を実装することでしたが、今は別の解決策をとってきました。 – enashnash