数据库优先和DbContext的生命周期的重要性代码优先的应用程序开发

时间:2015-04-16 12:33:42

标签: .net asp.net-mvc entity-framework asp.net-mvc-4 architecture

我正在使用Entity Framework 6.1学习ASP.NET MVC。

当我读到DbContext类时,我发现它不仅管理数据库连接,还跟踪数据的变化。我想了解如何管理DbContext的生命周期。但是建筑师说我不需要担心DbContext有效期,因为我们的产品正在采用数据库优先的方式。 (使用EDMX文件)方法,所有逻辑实际上都驻留在存储过程中。

您能否了解DbContext(或ObjectContext)与之有关的内容 我遵循的设计方法(代码优先vs数据库优先)?

是否我们不需要为DbContext的生命周期而烦恼(例如,在整个业务流程中保持生存和共同,或者为同一业务流程的每一步创建新的业务流程) #34;数据库第一"接近?

1 个答案:

答案 0 :(得分:0)

您的DbContext是您在数据库中的行,因此,如果您正在使用EF,那么#34;应该"是否使用,您需要管理DbContext的生命周期。如果过度使用DbContext,则内存占用量可能会大大增加。请记住DbContext并不完全等同于连接,因此处理它们并不会产生如此大的成本。

如果您未使用更改跟踪,请考虑使用AsNoTracking()方法,这将大大提高大型查询的效果。