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ď č. 1SqlConnection
s 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).