实体框架TypeUsage对象

Edi*_*son 7 c# memory-leaks entity-framework

我在我的应用程序上运行内存分析器以查找可能的内存泄漏.System.Data.Metadata.Edm.TypeUsage对象的数量一直在增长,看起来这可能是我的内存问题的原因.

有没有人知道从内存中释放这些TypeUsatge对象的方法?它们看起来是内部的Entity Framework对象,因为我的代码中没有对它们的任何引用.我已经确认我已将上下文对象包装在一个using块中,并且正在释放内存,但是这种Type用法不想消失.

我们将非常感谢您提供的任何帮助.

Dav*_*yon 0

您可能正在查看实体框架在下面使用的第一级缓存(更改跟踪器)。要了解更多相关信息,请查看此内容。如果这里存在内存泄漏,我会感到惊讶,这更有可能只是正常行为。您发现有多少内存泄漏?

要释放内存,请尝试使用其他合并选项(例如 NoTracking)。默认值为 AppendOnly,它将保留内存中您可能再次使用的类型。NoTracking 合并选项每次都会进入数据库并且在内存中不保留任何内容。

希望这可以帮助。