Я использую объект 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; }
}