2009-08-06 7 views

答えて

2

いいえ、IMO。特に、私はかなり純粋なので、私は自分のUIが何でもデータアクセスと何かを持っているとは思わない。これがリポジトリクラスの仕事です。リポジトリクラスも同様にhttp-requestとは関係がありません。

このように、分離の観点からは、唯一の論理的な答えは「いいえ」です。


高価です(コメント)。それは実際に利益が長く、あなたがそれを使用するコスト:オブジェクト/アイデンティティトラッカーがゆっくりとそれぞれ一意のレコードを蓄積する

  • を、あなたは変更トラッカが
  • を監視するためのより多くの仕事は、あなたがより多くを得るいる
  • をフェッチ

これをDALを超えて使用できるようにすることで、スレッディングについても心配する必要があります(これは特にウェブの場合に当てはまります)。 -requests、どこで買えるの? l 同じセッションの興味深い組み合わせののソート)。

LINQ-to-SQLにはキャッシュが多くありません。 (それはSingle(x=>x.Id == 12345)を要求し、レコード12345を見た場合、データベースにヒットしません)がIDマネージャへのID照合を短絡するサポートを持っています。しかし、ほとんどの場合、データベースにヒットします。そして、データベースを再構築すると、大きなコストの1つに、新しい接続のコストがあります。 SqlConnectionの接続プーリングによって非常に効果的に軽減されます(Webアプリケーションの場合)。

+0

それでどこに保管しますか?コールごとの開閉? – mrblah

+0

私はそうです。あなたがデータレイヤーで密接に結合された操作をいくつか持っているなら、それを共有するかもしれません... –

+0

nhibernateのセッションオブジェクトのような高価なオブジェクトではありませんか? – mrblah

関連する問題