我的应用程序中有一个datacontext,有许多线程写入它。 因此,它所拥有的内容越来越大,当我保存更改时,上下文保持同样大(如预期的那样)。
由于它越来越大,SaveChanges持续时间越来越长。
是否有选项可以清除已对其进行的更改并保存以便性能再次提升?
我现在只想到的是在一段时间后通过重新安装我的主要和唯一的Datacontext实例来重置它。
问候,
添
答案 0 :(得分:3)
DbContext
旨在成为一个短暂的对象。您应该创建它,使用它,并尽快处理它。
using (var context = new YourContext())
{
//do your stuffs
//call save changes
context.SaveChanges();
}
//let the using block dispose the context when exit.
由于一切都是相对的,也许你的场景需要更多思考。 Here是一篇很好的文章,我建议您更多地了解如何正确处理数据上下文生命周期。