嗨,我编写了一个解析器,它使用 EF 4.1 解析代码文件并将语言构造(属性、方法、事件、函数、子例程)保存到 db。在整个解析过程中只有一个 DBContext 实例。
解析期间的每个文件都会创建各种实体对象,并在解析该文件后保存 dbcontext。但是,现在即使在保存之后,如果我们检查任何实体的本地集合,它仍然会显示内存中的对象,例如:DbContext.EntityName.Local
因此,在解析了几个文件之后,内存中的本地实体集合不断增长,消耗了大量的内存,导致整个过程挂起。
有没有办法在不调用 dispose() 的情况下清除本地实体集合?