Entity framework 4 DbContext';s内部缓存(?)
我创建了自己的上下文,它继承自DbContext。假设我在数据库的[Posts]表中有1篇文章。考虑这种情况:Entity framework 4 DbContext';s内部缓存(?),entity-framework-4,Entity Framework 4,我创建了自己的上下文,它继承自DbContext。假设我在数据库的[Posts]表中有1篇文章。考虑这种情况: 我第一次要求DbContext提供这篇文章。DbContext按预期返回它 我手动更改[Posts]表中的一列 I refresh my site=我再次向DbContext请求此帖子 DbContext返回一个post,该post具有此特定列的旧值 我查看了SQL Profiler,每次刷新我的站点时,数据库都会被命中,那么为什么返回的帖子有一个旧值呢?我猜DbContext是想变得
- 当加载更多对象时,上下文的内存消耗可能会迅速增加
- 随着生存期的延长,遇到并发相关问题的几率增加
- 使用Web应用程序时,对每个请求使用上下文实例
- 使用Windows窗体时,为每个窗体使用上下文
DbContext
实例是静态的,还是在每个页面请求中创建的?当您说“我手动更改[Posts]表中的一列”时然后您更改了应用程序内存中dbContext中记录的列值,还是直接更改了后端数据库中的值?如果您在内存中的dbContext对象中进行了更改,那么在刷新数据库之前是否将更改提交给数据库?
// Resolve the concurrency conflict by refreshing the
// object context before re-saving changes.
context.Refresh(RefreshMode.ClientWins, orders);