で書かれたプログラムがあり、そこには の2 セットを参照C#
する があると想像してください。object (A)
objects ( set of B, set of C)
これらのオブジェクトは、、、の行として格納されMS SQL
ます。TableA
TableB
TableC
どこ
TableA has a field ID_Of_B referencing TableB as foreign key in a M:M relationship
TableC has a field ID_Of_A referencing TableA as foreign key in a M:1 relationship
(したがって、単一のオブジェクト A = では 1 行、およびTableA
では複数の行にリンクできます)TableB
TableC
私が尋ねようとしている質問は、( の特定の ID の)C#
現在B objects
およびC objects
リンクされているものを選択するために使用したい場合、select ステートメントが次の値を取得するような方法でそれを行うにはどうすればよいかということです正確?object A
TableA
SqlTransaction
(select from A)
3 つの異なる select ステートメント、 then (select from B)
、 thenを使用して実行しようとしました(select from C)
が、これら 3 つの select ステートメント内で、2 つのテーブルのいずれかが情報を変更した可能性があり、結果セットが正確ではない可能性があります。
TLDR:c# SqlTransaction
アトミックかつ正確な方法で 1:M および M:M の関係で複数のテーブル データをプルする選択を保証するために使用する方法 (テーブル B および C の他の同時更新 / 削除ステートメントが結果の整合性に影響を与えないようにする)設定)