我正在使用Entity Framework 6.1学习ASP.NET MVC。
当我读到DbContext
类时,我发现它不仅管理数据库连接,还跟踪数据的变化。我想了解如何管理DbContext
的生命周期。但是建筑师说我不需要担心DbContext
有效期,因为我们的产品正在采用数据库优先的方式。 (使用EDMX文件)方法,所有逻辑实际上都驻留在存储过程中。
您能否了解DbContext
(或ObjectContext
)与之有关的内容
我遵循的设计方法(代码优先vs数据库优先)?
是否我们不需要为DbContext
的生命周期而烦恼(例如,在整个业务流程中保持生存和共同,或者为同一业务流程的每一步创建新的业务流程) #34;数据库第一"接近?
答案 0 :(得分:0)
您的DbContext
是您在数据库中的行,因此,如果您正在使用EF,那么#34;应该"是否使用,您需要管理DbContext
的生命周期。如果过度使用DbContext
,则内存占用量可能会大大增加。请记住DbContext
并不完全等同于连接,因此处理它们并不会产生如此大的成本。
如果您未使用更改跟踪,请考虑使用AsNoTracking()
方法,这将大大提高大型查询的效果。