Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用时是否需要关闭连接?_C#_Linq_Sqlconnection - Fatal编程技术网

C# 使用时是否需要关闭连接?

C# 使用时是否需要关闭连接?,c#,linq,sqlconnection,C#,Linq,Sqlconnection,我有以下代码: newCustomerDataSourceDataContext db = GetDataContext(); { var tId = from t in db._CRM_Ticket_Headers from p in db.CRM_Priority_LKPs where t.created >= fromDate && t.created < toD

我有以下代码:

newCustomerDataSourceDataContext db = GetDataContext();
{
    var tId = from t in db._CRM_Ticket_Headers
              from p in db.CRM_Priority_LKPs
              where t.created >= fromDate &&
                  t.created < toDate &&
                  t.priorityId == p.priorityId &&
                  t.statusId == status &&
                  t.employeeUserId == csrId
              select t;
}

不,一旦您退出使用区块,它将关闭。当你离开那个街区时,资源就会被清理干净

您应该处理datacontect吗

简短的回答;不,你不必,但你应该

DataContext保存状态(例如,SqlConnection和指向已检索对象的指针)。一旦您释放了所有引用,这些对象最终将被GC清理,但其中一些对象(例如,底层SqlConnection)可能持有您通常希望在完成后立即释放的资源,而不是依赖GC清理


如前所述,如果您在惰性模式下检索数据,它将无法正常工作。不,一旦您退出使用块,它将关闭。当你离开那个街区时,资源就会被清理干净

您应该处理datacontect吗

简短的回答;不,你不必,但你应该

DataContext保存状态(例如,SqlConnection和指向已检索对象的指针)。一旦您释放了所有引用,这些对象最终将被GC清理,但其中一些对象(例如,底层SqlConnection)可能持有您通常希望在完成后立即释放的资源,而不是依赖GC清理


如前所述,如果您在惰性模式下检索数据,它将无法正常工作。不,一旦您退出使用块,它将关闭。当你离开那个街区时,资源就会被清理干净

您应该处理datacontect吗

简短的回答;不,你不必,但你应该

DataContext保存状态(例如,SqlConnection和指向已检索对象的指针)。一旦您释放了所有引用,这些对象最终将被GC清理,但其中一些对象(例如,底层SqlConnection)可能持有您通常希望在完成后立即释放的资源,而不是依赖GC清理


如前所述,如果您在惰性模式下检索数据,它将无法正常工作。不,一旦您退出使用块,它将关闭。当你离开那个街区时,资源就会被清理干净

您应该处理datacontect吗

简短的回答;不,你不必,但你应该

DataContext保存状态(例如,SqlConnection和指向已检索对象的指针)。一旦您释放了所有引用,这些对象最终将被GC清理,但其中一些对象(例如,底层SqlConnection)可能持有您通常希望在完成后立即释放的资源,而不是依赖GC清理



如前所述,如果您在惰性模式下检索数据,它将无法很好地工作,这取决于您希望发生什么。如果使用
using
块,将在关闭连接的上下文上调用
Dispose
方法。但是,如果您的应用程序正在使用延迟加载,那么它将不再工作。

这取决于您希望发生什么。如果使用
using
块,将在关闭连接的上下文上调用
Dispose
方法。但是,如果您的应用程序正在使用延迟加载,那么它将不再工作。

这取决于您希望发生什么。如果使用
using
块,将在关闭连接的上下文上调用
Dispose
方法。但是,如果您的应用程序正在使用延迟加载,那么它将不再工作。

这取决于您希望发生什么。如果使用
using
块,将在关闭连接的上下文上调用
Dispose
方法。但是,如果您的应用程序正在使用延迟加载,那么这将不再有效。

您不需要这样做。您在这段代码中是否遇到任何异常?@RajeevKumar我将确保关闭以前在我的网站中打开的所有连接?b'coz,当您使用以下命令实例化上下文时,不需要这样做:using(newCustomerDataSourceDataContext db=GetDataContext()){}//您的数据库连接将在此处自动关闭。网站?这是控制器的代码吗?我认为您必须添加更多关于如何使用上下文的信息。这里没有一种解决方案适合所有人。@AnupamSingh。如果我使用的语句是。。newCustomerDataSourceDataContext db=newNewCustomerDataSourceDataContext();alternative newCustomerDataSourceDataContext db=GetDataContext(),您不需要这样做。您在这段代码中是否遇到任何异常?@RajeevKumar我将确保关闭以前在我的网站中打开的所有连接?b'coz,当您使用以下命令实例化上下文时,不需要这样做:using(newCustomerDataSourceDataContext db=GetDataContext()){}//您的数据库连接将在此处自动关闭。网站?这是控制器的代码吗?我认为您必须添加更多关于如何使用上下文的信息。这里没有一种解决方案适合所有人。@AnupamSingh。如果我使用的语句是。。newCustomerDataSourceDataContext db=newNewCustomerDataSourceDataContext();alternative newCustomerDataSourceDataContext db=GetDataContext(),您不需要这样做。您在这段代码中是否遇到任何异常?@RajeevKumar我将确保关闭以前在我的网站中打开的所有连接?b'coz,当您使用以下命令实例化上下文时,不需要这样做:using(newCustomerDataSourceDataContext db=GetDataContext()){}//您的数据库连接将在此处自动关闭。网站?这是控制器的代码吗?我认为您必须添加更多关于如何使用上下文的信息。没有一个解决方案
using (newCustomerDataSourceDataContext db = GetDataContext())
{
    var tId = from t in db.CRM_Ticket_Headers
              from p in db.CRM_Priority_LKPs
              where t.created >= fromDate &&
                  t.created < toDate &&
                  t.priorityId == p.priorityId &&
                  t.statusId == status &&
                  t.employeeUserId == csrId
              select t;
}