Skip to content
This repository was archived by the owner on Mar 17, 2020. It is now read-only.
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

@Marc-Albert

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 "

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