[C#] 什麼時候應該處理數據上下文


Answers

把你的datacontext視為一種資源。 而使用資源的規則說

“盡快獲得資源,盡快釋放資源”

Question

我目前正在為應用程序編寫一個數據訪問層。 訪問層大量使用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();
}

這是一個粗略的簡化,但它提供了一般的想法。 有沒有更好的方法來處理這種模式? 我應該實例化一個新的數據上下文,每次我想訪問分貝?