如何使Entity Framework缓存一些对象

.net entity entity-framework

我正在使用实体框架。

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

一般承认的答案

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

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

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

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

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

希望这可以帮助

Alex James

实体框架团队Microsoft。


热门答案

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



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因