Skip to content
This repository was archived by the owner on Mar 17, 2020. It is now read-only.

Redis cache issue with Entity framework model classes - dotnet core 3.1 #66

Description

@Marc-Albert

Summary of the issue

First call insert the value into redis successfully but the second one always display the below error;

"Could not load type 'Castle.Proxies.OrganizationProxy, DynamicProxyGenAssembly2, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. Try add TypeCache.RegisterResolveType to resolve your type if the resolving continues to fail."

On the other hand, if I use a DTO in my select statement then no problem occurs.

Note: I used the redis configuration exactly as explained.
I have a feeling that this issue is happening with FirstOrDefault() & First()

Environment

.NET Core SDK version: 3.1.0
Microsoft.EntityFrameworkCore version: 3.1.0
EFSecondLevelCache.Core version: 2.9.1

Example code/Steps to reproduce:


return _context.Organization.Where(o => o.OrganizationId == orgId).Cacheable().FirstOrDefault();

## Output:

Exception message:
Message = "Could not load type 'Castle.Proxies.OrganizationProxy, DynamicProxyGenAssembly2, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. Try add TypeCache.RegisterResolveType to resolve your type if the resolving continues to fail."

Full Stack trace:
" at CacheManager.Core.Internal.TypeCache.GetType(String type)\r\n at CacheManager.Redis.RedisValueConverter.CacheManager.Redis.IRedisValueConverter<System.Object>.FromRedisValue(RedisValue value, String type)\r\n at CacheManager.Redis.RedisCacheHandle1.FromRedisValue(RedisValue value, String valueType)\r\n at CacheManager.Redis.RedisCacheHandle1.GetCacheItemAndVersion(String key, String region, Int32& version)\r\n at CacheManager.Redis.RedisCacheHandle1.GetCacheItemInternal(String key, String region)\r\n at CacheManager.Redis.RedisCacheHandle1.GetCacheItemInternal(String key)\r\n at CacheManager.Core.Internal.BaseCache1.GetCacheItem(String key)\r\n at CacheManager.Core.BaseCacheManager1.GetCacheItemInternal(String key, String region)\r\n at CacheManager.Core.BaseCacheManager1.GetCacheItemInternal(String key)\r\n at CacheManager.Core.Internal.BaseCache1.GetCacheItem(String key)\r\n at CacheManager.Core.Internal.BaseCache`1.Get(String key)\r\n at EFSecondLevelCache.Core.EFCacheServiceProvider.GetValue(String cacheKey)\r\n at EFSecondLevelCache.Core.EFMaterializer.readFromCache[T](Expression expression)\r\n at "

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions