0

当我像这样创建一个简单的 EntityFramework 连接时

Private Function ConnectEF() As ObjectContext
        Dim context1 As EstFarmacologicaEntities = New EstFarmacologicaEntities(tools.connectionstring("EstFarmacologica"))
        Return contexto1
End Function

然后我调用objectcontext ...

Public Function ListGroupFarma() As Ilist
        Dim context2 As EstFarmacologicaEntities = ConnectEF()
        Dim listFarma As IList = (From ... Where .. Select ...).ToList()
        context2.Dispose()
        Return listFarma
    End Function

是否有必要处置 context1?就像使用'SqlConnection.Close'时......我的意思是Context1或其连接将保留在内存中?我该如何检查?

4

1 回答 1

0

SqlConnectionsDispose方法在内部调用它的Close方法。上没有Close方法ObjectContext

如果它实现IDisposable了,正确地处理它,你永远不知道该类的作者在他们的 dispose 方法中包含了什么,并且如果你自己尝试去做,最终可能会丢失一些东西(比如调用.Close()代替SqlConnection使用Using块)。

于 2013-11-11T15:07:59.780 回答