实体框架 TypeUsage 对象
Posted
技术标签:
【中文标题】实体框架 TypeUsage 对象【英文标题】:Entity Framework TypeUsage Object 【发布时间】:2011-11-26 07:08:03 【问题描述】:我正在我的应用程序上运行内存分析器以查找可能的内存泄漏。 System.Data.Metadata.Edm.TypeUsage 对象的数量一直在增长,看起来这可能是我的内存问题的原因。
有谁知道从内存中释放这些 TypeUsatge 对象的方法?它们看起来是内部实体框架对象,因为我的代码中没有对它们的任何引用。我已经确认我已经将 context 对象包装在 using 块中,并且正在释放内存,但是这种 Type 用法并不想消失。
您能提供的任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:您可能正在查看 Entity Framework 在下面使用的一级缓存(更改跟踪器)。要了解有关它的更多信息,请查看此内容。如果这里有内存泄漏,我会感到惊讶,更有可能这只是正常行为。您看到有多少内存泄漏?
要释放内存,请尝试使用其他合并选项(如 NoTracking)。默认值为 AppendOnly,它将保留您可能再次使用的内存类型。 NoTracking 合并选项每次都会进入数据库,并且不会在内存中保存任何内容。
希望这会有所帮助。
【讨论】:
以上是关于实体框架 TypeUsage 对象的主要内容,如果未能解决你的问题,请参考以下文章