2013-04-23 72 views
2

我有一些代码使用LINQ自动删除和更新数据库。使用LINQ关闭与DB的连接?

KezberPMDBDataContext db = new KezberPMDBDataContext(); 
if (!db.DatabaseExists()) 
{ 
    db.DeleteDatabase(); 
} 
db.CreateDatabase(); 

但是,它有时会由于打开连接而失败。在SQL Management Studio中,我可以强制它终止连接,但我在LINQ中看不到这样的选项。

有谁知道一种方法来做到这一点?

回答

4

的DataContext应该总是“毁”或处置,所以最佳的你应该使用一个using语句内的Context对象:

using(KezberPMDBDataContext db = new KezberPMDBDataContext()) 
{ 
    if (!db.DatabaseExists()) 
    { 
     db.DeleteDatabase(); 
    } 
    db.CreateDatabase(); 
    } 

这会自动配置环境中使用它之后。

要直接处理它,调用该方法:

db.Dispose(); 
+1

哎呀,我现在刚刚在我工作的公司删除了生产数据库.... – Sam 2014-11-12 15:14:17

-2

你可以使用一些代码在LINQ

DBDataContext db= new DBDataContext(); 

完成你的行动,你可以配置该数据库后的SQL Server关闭当前连接

db.Dispose(); 
+0

这个答案是什么添加到当前接受的答案? – rene 2014-09-11 11:20:04