使用EF Lazy Load和DynamicProxy的Memcached缓存

时间:2011-10-21 11:23:08

标签: asp.net-mvc entity-framework memcached

我们正尝试使用二进制序列化程序缓存从Memcached中的IDbSet重新获取的实体。

在我们尝试在后续请求中从缓存中反序列化实体之前,一切正常。

Unable to load type System.Data.Entity.DynamicProxies.users_131D253E3297AF73E52D604FD8627E3CE98FBA26BF1FBA904A6774E41F3D1550 required for deserialization.

有人有什么想法吗?你需要代码示例吗?

1 个答案:

答案 0 :(得分:1)

实体框架使用动态代理来支持延迟加载。顾名思义,这些类型是在运行时动态生成的,因此当您尝试反序列化存储的类型时,App Domain中可能无法使用这些类型。

作为一种可能的解决方案,您可以使用实体框架代码优先(没有virtual属性),或使用EF缓存