2

私はいつもデータアクセスレイヤーに次のようなコード設定を持っていました(例を作りました)

public static class LoadData
{
  private static SomeDataContext db = new SomeDataContext();

  public static void LoadData(DropDownList ddl)
  {
    (from ls in db.MyLookup
    select ls).OrderBy(ls=>ls.theId).ToList()
    .ForEach(ls=>ddl.Items.Add(new ListItem(ls.theText, ls.theValue.ToString())));
  }
}

DataContext は、それ自体をクリーンアップするのに十分「スマート」ですか?それとも、クエリをusingステートメントでラップして、接続が閉じていることを確認する必要がありますか?

4

2 に答える 2

2

usingデータベースにアクセスするときは、少なくともブロックを使用する必要があります。データ コンテキストは、接続を自動的に開いたり閉じたりしません。あなたはまだあなたのリソースに責任があります。

単一の接続 (関連データなど) を使用してデータベースに複数回アクセスする必要がある場合は、Unit of Work パターンの使用を検討することをお勧めします。

于 2013-05-06T15:32:57.970 に答える