当我在实体框架(Entity Framework)中创建"Entities"对象并使用它执行一些查询时,连接会发生什么变化?
- 当我创建对象时,它是否会打开连接,并在我处理对象时关闭连接?
- 还是它会为每个单独的查询打开和关闭一个连接?
无论哪种情况,有可能更改连接行为吗?
当我在实体框架(Entity Framework)中创建"Entities"对象并使用它执行一些查询时,连接会发生什么变化?
无论哪种情况,有可能更改连接行为吗?
基本上,它在调用请求时打开,并在结果被处理或使用后关闭。您可以手动打开/关闭连接,也可以使用对象上下文使用相同的连接...
这篇文章有更详细的解释-http://msdn.microsoft.com/en-us/library/bb738582.aspx (archive.org)
以下是如何使用实体连接的方法 - http://msdn.microsoft.com/en-us/library/bb738461.aspx (archive.org)
在 EF6 中,行为有所改变,允许您传递打开的连接或稍后自己打开 EF 连接。请查看https://msdn.microsoft.com/en-us/library/dn456849(v=vs.113).aspx
using
子句就像你想要的那样。请注意,只有在实际上需要手动处理连接时(例如,在EF之外执行语句),才需要担心这一点。如果您不需要这样做,则根本不需要考虑打开和关闭连接。 - RoryIDbConnectionInterceptor.Opened
方法,如果您正在使用IDbConnectionInterceptor
的话。 - xr280xr