快速linq-to-sql什么会更有效率

时间:2010-01-07 05:47:48

标签: c# asp.net linq 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;
}

2 个答案:

答案 0 :(得分:1)

没有严格的规则,但为了给你一些上下文,如果你正在写一个网站,DataContexts通常应该是每个请求。不要一直创建它,但肯定不想要做的是将DataContext作为单例进行。

编辑:%s / session / request / g

答案 1 :(得分:0)

我认为你可以在所有方法中使用一个实例,因为每当你调用实例新方法时,内存都会刷新,你的实例会获得新值而不影响你最近的值.well datacontext只用于为数据类创建对象所以我们可以在任何方法中轻松调用任何表或存储过程。

您可以将datacontext声明为全局变量。一个对象适用于所有方法。