/ / Rámec entít Connection.Open connection.close - sql-server, vb.net, entity-framework

Rámec entita Connection.Open connection.close - sql-server, vb.net, entity-framework

Keď vytvorím jednoduché spojenie EntityFramework ako toto

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

Potom volám objektový kontext ...

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

Je potrebné odstrániť kontext1? ako pri používaní funkcie "SqlConnection.Close" ... Mám na mysli Context1 alebo jeho spojenie zostane v pamäti? ako to môžem overiť?

odpovede:

0 pre odpoveď č. 1

SqlConnections Dispose metóda nazýva jeho Close metóda interne. Neexistuje žiadny Close metóda na ObjectContext.

Ak to implementuje IDisposable, riadne ho zlikvidujte, nikdy neviete, čo je autorom tejto triedy zahrnutá v metóde likvidácie a mohlo by skončiť, ak by ste niečo vynechali, ak sa to pokúsite urobiť sami .Close() na SqlConnection namiesto použitia a Using blok).