如何使Entity Framework缓存一些对象

Eug*_*ica 29 .net entity entity-framework

我正在使用实体框架.

在我的数据库中存储了人员和他们的国家.当我加载一个人物时,我不知道每个人的起源是什么.有没有办法缓存国家/地区列表,以便不会有不必要的请求.

Ale*_*mes 39

正如Luhmann已经说过我的伙伴Jarek为实体框架提供了一个优秀的示例缓存提供程序.他在这里谈到了什么.

然而,有时这种做法是过度的,我怀疑缓存国家是一个很好的例子,努力是不值得的.实现某种ad-hoc缓存可能更好.

如果您尝试这样做,您将遇到的主要问题是实例实体框架实体一次只能附加到一个ObjectContext,这意味着如果您获得并发请求(如在网站中),您将遇到问题是你只需从缓存中获取项目并盲目使用它们.

你需要的是一个克隆缓存,即当你从缓存中获取某些内容时它会克隆它们.

我整理了一个提示,说明如何执行此操作提示14 - 如何缓存实体框架参考数据

希望这可以帮助

Alex James

实体框架团队Microsoft.

  • 好的提示亚历克斯,EF的新版本有更好的方法吗? (3认同)

Luh*_*ann 8

您可以查看Jaroslaw Kowalski 为Entity Framework提供的出色的跟踪和缓存提供程序包装器.