2010-01-07 80 views
0

什麼是數據上下文的生命週期。快速linq-to-sql什麼更有效

MyDB_DataContext db = new MyDB_DataContext();

將一個上下文傳遞給幾個方法或創建它的新實例會更高效嗎?或者是有任何理由要選擇一個比其他

public void DoStuff(){ 
    MyDB_DataContext db = new MyDB_DataContext(); 
    doMoreStuff() 
} 
private void doMoreStuff(){ 
    MyDB_DataContext db = new MyDB_DataContext(); 
    return; 
} 

VS

public void DoStuff(){ 
    MyDB_DataContext db = new MyDB_DataContext(); 
    doMoreStuff(db) 
} 
private void doMoreStuff(MyDB_DataContext db){    
    return; 
} 

回答

0

以及在我看來,你可以在所有的方法使用一個實例,因爲每次當你調用實例的新方法內存得到刷新和你的情況下獲得新的價值而不影響您最近的價值。well datacontext僅用於爲數據類創建對象,以便我們可以使用任何方法輕鬆調用任何表或存儲過程。

正如你可以將datacontext聲明爲一個全局變量一樣,一個對象對所有方法都可以正常工作。

1

有沒有嚴格遵守的規則,而是給你一些背景,DataContexts一般應每請求,如果你正在寫一個網站。不要一直創建它,但你絕對不需要做的事情就是將DataContext作爲一個單獨的東西攜帶。

編輯:%S /會話/請求/ g的