C# 使用LINQ关闭与DB的连接?

C# 使用LINQ关闭与DB的连接?,c#,asp.net,sql-server-2008,linq-to-sql,C#,Asp.net,Sql Server 2008,Linq To Sql,我有一些代码可以使用LINQ自动删除和更新数据库 KezberPMDBDataContext db = new KezberPMDBDataContext(); if (!db.DatabaseExists()) { db.DeleteDatabase(); } db.CreateDatabase(); 但是,它有时会由于开放式连接而失败。在SQLManagementStudio中,我可以强制它终止连接,但在LINQ中没有看到这样的选项 有人知道这样做的方法吗?DataContext应

我有一些代码可以使用LINQ自动删除和更新数据库

KezberPMDBDataContext db = new KezberPMDBDataContext();
if (!db.DatabaseExists())
{
    db.DeleteDatabase();
}
db.CreateDatabase();
但是,它有时会由于开放式连接而失败。在SQLManagementStudio中,我可以强制它终止连接,但在LINQ中没有看到这样的选项


有人知道这样做的方法吗?

DataContext应该始终被“销毁”或处置,因此最好在using语句中使用Context对象:

 using(KezberPMDBDataContext db = new KezberPMDBDataContext())
 {
    if (!db.DatabaseExists())
    {
        db.DeleteDatabase();
    }
    db.CreateDatabase();
  }
这将在使用上下文后自动处理上下文

要直接处置它,请调用以下方法:

 db.Dispose();

您可以使用一些代码在LINQ中关闭sql server的当前连接

DBDataContext db= new DBDataContext ();
完成操作后,您可以处置数据库

db.Dispose();

这个答案对当前被接受的答案有什么补充?