私は通常、データベース接続を自分で作成し、 `using {} 'を使って手動で寿命を制御したいと思っています。例:データベース接続をビジネスオブジェクトにカプセル化するかどうかを指定しますか?
この方法では、適切にクリーンアップする必要のあるリソースを使用していることがわかります。しかし、これは多くの反復的な努力に終わります。私は、ビジネスオブジェクト内でSQL接続を作成し、その上にIDisposableを実装したいと思っています。 Dispose()メソッドで接続を閉じます。
using(BusinessObject myBusinessObject = new BusinessObject()) {
// do stuff with myBusinessObject
...
}
問題は、使用中に表示されない限り、ビジネスオブジェクトを廃棄する必要があることが明白でないことがあるということです。
あなたはどうしますか?
答えをありがとう。私がここで考えているコードはかなり簡単です。私は過去にNHibernateを使用しましたが、私はこのプロジェクトのためにそこに行きたいとは思っていません。しかし、あなたが言ったように、おそらくソースを介してスピンが良い運動になるだろう。 – dnewcome
nHibernateが多すぎると思われる場合は、LINQtoSQLを検討してください。私の経験では非常に軽量です。L2SエンティティをDTOとみなすか、部分的なクラス/メソッドを使用してそれらを本格的なビジネスオブジェクトに拡張することができます。 – tvanfosson