使用Dim Results = Me.Objects时调用的是什么DBContext

时间:2016-05-06 04:22:21

标签: c# vb.net entity-framework-4 entity-framework-6 dbcontext

您好我在.net项目中使用Entity Framework,之前我使用如下语法检索结果:

Using Context As New Model.DbContext
            Dim Results = From X In Context.MyObjects.ToList
End Using

我已经读过根据需要创建和销毁DbContext对象而不是长时间运行上下文是首选模式。

所以当我有一个实体并且我打电话时会这样:

Dim Results = Me.MyObjects.ToList

这是怎么回事?是否有一些隐含的上下文创建?

其次,如果是这样的话,每次以这种方式从对象获取属性时,创建和拆除此上下文的计算成本是否昂贵?这是否会影响数据库?我认为对象不会被缓存,因为它们将保持打开的全局上下文。

任何想法都将不胜感激!

1 个答案:

答案 0 :(得分:1)

表演问题。这是在这里回答的。 Is DbContext an expensive operation?

对于MyObjects.ToList,它看起来像是自动处理“上下文创建”。 http://blog.jongallant.com/2012/10/do-i-have-to-call-dispose-on-dbcontext.html#.U6WdzrGEeTw