Luk*_*Led 15 .net c# entity-framework objectcontext
我们正在从db加载数据:
var somethings = Context.SomethingSet.ToList();
Run Code Online (Sandbox Code Playgroud)
然后有人删除或添加上下文之外的行.Out上下文仍然有缓存已删除的对象,因为它不知道它们已被删除.即使我调用Context.SomethingSet.ToList(),我们的上下文仍包含已删除的对象,导航属性也不正确.
从数据库刷新整个集合的最佳方法是什么?
Jos*_*osh 19
该刷新的方法是你在找什么:
Context.Refresh(RefreshMode.StoreWins, somethings);
Run Code Online (Sandbox Code Playgroud)
jri*_*sta 12
EF数据上下文是工作单元模式的实现.因此,它不是为了超越正在完成的工作单元而设计的.完成工作后,期望您的数据上下文被丢弃.
这是EF v1,EF v4和LINQ to SQL的基本设计决策.除非您拥有非常具体的数据使用模式和大量内存,否则应避免将数据上下文保留的时间超过完成工作单元所需的时间.
http://sdesmedt.wordpress.com/2009/02/18/unit-of-work-pattern/
http://takacsot.freeblog.hu/Files/martinfowler/unitOfWork.html
归档时间: |
|
查看次数: |
20807 次 |
最近记录: |