Asp.Net Memory Cache автоматически устанавливает нулевой дочерний объект - PullRequest
0 голосов
/ 11 апреля 2019

Я использую объект EF, создал новый класс, такой же, как класс Entity, сохранил все данные, включая дочерние объекты, в кэш-памяти

Когда я читаю кэш-память при вставке, он иногда возвращает нулевой дочерний объект, который выдает много ошибок.

Раньше я непосредственно хранил объект Entity в кеше, теперь я создал копию класса Entity и сохранил новый класс в кэше (дочерние классы по-прежнему являются объектами Entity)

Вот так я пишув кеше

public static void Insert(string Key, object Value, DateTime Expiration)
{
   HttpRuntime.Cache.Insert(Key, Value, null, Expiration, Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, null);
}

Вот как я читаю кеш

public static object Item(string Key)
{
   return HttpRuntime.Cache.Get(Key);
}

var cacheProductDetail = ((CacheProductDetail)CacheManager.Item(key));

Я могу получить Id и ProductGenericId, но я получаю ProductGeneric как ноль (это происходит только при чтении / записи кеша одновременновремя)

public class CacheProductDetail
{
   public virtual int Id { get; set; }
   public virtual Nullable<int> ProductGenericId { get; set; }
   public virtual ProductGeneric ProductGeneric { get; set; }
}
...