0

嗨,我编写了一个解析器,它使用 EF 4.1 解析代码文件并将语言构造(属性、方法、事件、函数、子例程)保存到 db。在整个解析过程中只有一个 DBContext 实例。

解析期间的每个文件都会创建各种实体对象,并在解析该文件后保存 dbcontext。但是,现在即使在保存之后,如果我们检查任何实体的本地集合,它仍然会显示内存中的对象,例如:DbContext.EntityName.Local

因此,在解析了几个文件之后,内存中的本地实体集合不断增长,消耗了大量的内存,导致整个过程挂起。

有没有办法在不调用 dispose() 的情况下清除本地实体集合?

4

1 回答 1

0

由于这个原因,上下文应该是短暂的。

Detach保存实体后,您始终可以使用它。

于 2012-08-09T07:56:43.933 回答