如何从Memcache检索项目后加载相关实体

本文关键字:加载 实体 项目 Memcache 检索 | 更新日期: 2023-09-27 18:30:14

我正在使用Enyim将一个对象存储到Memcached中。

但是,当将此对象从 Memcached 中提取时,相关实体为空。使用System.Runtime.Caching实体加载完美。存储这些相关实体的任何帮助或提示将不胜感激。谢谢。

[Serializable]
public class Inventory
{
    public Inventory() {  }
    public int InventoryID { get; set; }
    //Not Null
    public int ProductID { get; set; }
    //Null with Enyim
    public virtual Product Product { get; set; }
    //Null with Enyim
    public virtual ICollection<WarehouseInventory> WareHouseInventories { get; set; }
....
}

如何从Memcache检索项目后加载相关实体

您必须禁用 dbContext.Configuration.ProxyCreationEnabled,并确保在具体化 Inventory 对象时加载所有聚合对象。(在 System.Data.Entity 命名空间中的 Invetory 对象上使用"包含"扩展方法)