LINQ クラスを利用するデータ アクセス層では、データ コンテキストの管理という問題がよく発生します。次のコード スニペットを考えてみましょう:
private DataContext myDb; public static MyClass GetMyClassById(int id) { DataContext db = new DataContext(); MyClass result = (from item in db.MyClasss where item.id == id select item).Single(); result.myDb = db; return result; } public void Save() { db.SubmitChanges(); }
このパターンでは、データ コンテキストのインスタンス化とそれらを破棄する必要性について疑問が生じます。これに対処するために、LINQ to SQL チームの Matt Warren 氏にアドバイスを求めました。
Warren 氏によると、IDisposable の実装には次のような目的があります。
Warren は、ほとんどの場合、DataContext の破棄は必ずしも必要ではないと強調しました。ただし、一貫性と明確さのために、IDisposable を実装するオブジェクトはすべて破棄することが望ましいことがよくあります。
以上がLINQ to SQL でデータ コンテキストを破棄する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。