解决方法
这是一个激进的想法,老实说我不知道它是否会改善你的表现,但它有很好的机会这样做.我敢打赌,你实例化你的上下文对象一次,然后使用它来插入所有记录,对吧?这样做意味着上下文将跟踪所有这些对象,直到它被处置,这可能解释了随着时间的推移性能下降.
现在,您可以清除上下文缓存,但我有一个更加坚定的想法.这些上下文对象被设计为在实例化时具有最小的开销(无论如何在文档中都这样说,我没有测试过该断言),因此如果在每次迭代中实例化上下文,它可能会有所帮助.即在创建对象的同时重新创建上下文.或者,这是一个更好的主意,维护数据对象的内部列表,并在每n次迭代中将列表提交到单独的方法以提交到数据库.该方法应该实例化并处理上下文.合理?