我正在使用EFCache(https://github.com/moozzyk/EFCache)在数据层对实体进行内存中缓存。但是,我在应用程序的其他层进行了缓存(例如业务层,它可能会执行一些复杂的逻辑来派生一个缓存的实体的属性,我也想对其进行缓存),因此我想在有问题的实体在数据库中更新。我找不到找到EFCache失效机制的方法。知道我如何才能做到这一点,或者可能是另一个对此更好的库吗?下面是一个简单的示例:
MyEntity
是数据库中具有属性Name
的实体。当我查询该实体时,EFCache会自动将其缓存在内存中。在Db中更新缓存实体的Name
属性时,EFCache会自动使该缓存实体无效。
现在,在我的业务逻辑中,MyEntity
具有一个名为CalculatedProperty
的属性,该属性需要大量处理,因此我也希望对其进行缓存。当EFCache使数据层的MyEntity
缓存无效时,属性缓存应无效。