实体框架:如果我打开它,我应该关闭连接吗?

时间:2013-02-27 16:55:15

标签: entity-framework database-connection

我从ObjectContext获取基础连接。我需要检查连接状态并在必要时打开它。我想知道我是否需要关闭它,或者是否会为我照顾它。

无论如何我正在处理我的上下文,我认为这是关闭连接。

我应该首先手动打开此连接吗?

仅供参考:我故意避免使用便捷方法ExecuteStoredCommandExecuteStoredQuery。我们有一些旧的代码可以解决旧的ADO.NET类。我只想公开连接并确保它可以使用。

2 个答案:

答案 0 :(得分:1)

Entity Framework自行管理打开和关闭连接。通常,它会在完成命令后关闭连接。因此,在使用连接之前,您必须检查连接状态并在关闭时打开它。当你完成时,你可以关闭它(不要丢弃它!)。

处理上下文时,连接始终处于关闭状态。

如果您希望遗留代码和实体框架在一个交易中运行,则可能必须将代码括在TransactionScope中。

答案 1 :(得分:0)

我认为如果您处理上下文,它将为您关闭连接。如果您创建一个新的ObjectContext,也将打开连接。