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


0 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();
}

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




Related