37
votes

When I instance my "Entities" object in Entity Framework, and make a couple of queries using that Entities object, what happens to connections?

  • Does it open a connection when I instance the object, and close it when I dispose of it?
  • Or does it open and close a connection for each single query I execute?

In either case, is it possible to change it so that it does the other thing?

2
Wow @pb2q that was a very important edit to a 6-year old question! Nicely done!Daniel Magliola
dMagiola: no problem. Happy to help with any improvements: important or otherwise, old or new. Keep on asking buddy!pb2q

2 Answers

30
votes

Basically it opens when a request is called and closes once the results have been disposed or consumed. You can manually open/close or use the same connection using the object context...

This article has a more complete explanation - http://msdn.microsoft.com/en-us/library/bb738582.aspx (archive.org)

Here is the How To on using an entity Connection - http://msdn.microsoft.com/en-us/library/bb738461.aspx (archive.org)

4
votes

The behaviour changed somewhat in EF6, allowing you to pass in open connections or to open the EF connection yourself later. Check out https://msdn.microsoft.com/en-us/library/dn456849(v=vs.113).aspx