entity frameworkTypeUsage对象

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

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

您将提供的任何帮助将不胜感激。

您可能正在查看Entity Framework在其下使用的第一级缓存(更改跟踪器)。 要了解更多信息,请查看此信息。 如果此处存在内存泄漏,我会感到惊讶,这更可能是正常行为。 你看到多少内存泄漏?

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

希望这可以帮助。