【问题标题】:Entity framework Connection.Open connection.close实体框架 Connection.Open connection.close
【发布时间】:2013-11-11 14:47:40
【问题描述】:

当我像这样创建一个简单的 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 或它的连接将保留在内存中?我该如何检查?

【问题讨论】:

    标签: sql-server vb.net entity-framework


    【解决方案1】:

    SqlConnections Dispose 方法在内部调用其Close 方法。 ObjectContext 上没有 Close 方法。

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

    【讨论】:

      猜你喜欢
      • 2017-07-07
      • 2020-04-11
      • 1970-01-01
      • 2015-12-26
      • 2014-04-01
      • 2014-11-11
      • 2021-05-01
      • 1970-01-01
      • 2010-10-07
      相关资源
      最近更新 更多