2010-12-06 3 views
0

私はsetとgetメソッドを持つプロパティを持っていて、それはget()でロードし、(DB内の)DBにデータをセーブします。今私は私の場合のIDbTransactionであるトランザクションでこれを持っています。問題は、どのようにプロパティにトランザクションオブジェクトを与えることができるかということです。私はすでにトランザクション(または他のオブジェクト)をプロパティに渡しますか?

+2

あなたはセッターでDBに保存しますか?あなたは地獄のようにコーディングするつもりです! ;)プロパティは軽量であると考えられます。私が今までに見た中で最悪のコーディングエラーのいくつかは、プロパティがあまりにも多く、副作用があったためでした –

+1

プロパティにパラメータを渡す必要があるときは、プロパティがメソッド代わりに。 – jvanrhyn

+0

私は、SetメソッドとGetメソッドを使用してトランザクションをparamとして取得し、DBの処理を行いますか? – grady

答えて

1

:)

おかげであなたがSystem.Transactions.Transaction.Currentを試してみました...プロパティを使用するコードで取引を持っていますか?文書化された静的なプロパティですhere

1

TransactionScopeオブジェクトでコールをラップすることができます。使用ブロック内の呼び出しは、トランザクションの一部になります。

using (TransactionScope scope = new TransactionScope()) 
{ 
    // call properties and other code 

    scope.Complete(); // needed or transaction rolls back 
} 
関連する問題