为具有多列主键的实体支持ABP的IEntityCache

时间:2018-10-29 12:46:34

标签: aspnetboilerplate

IEntityCache 的当前实现支持1列主键类型(默认int,可以作为其他类型发送,例如longstring)。

目前有两种方法(我可以看到)为主键由2个(或更多)列(例如2个字符串列)组成的表/实体启用缓存:

  1. 修改表的架构,仅添加一个整数Id列(自动递增),其唯一目的是使IEntityCache发挥作用。查询实体的应用程序逻辑将保持不变,因为它仍将使用2列唯一索引。但是,修改模式可能不是一个选择,另一个问题是上层应用程序层(Domain,AppServices)不知道他们需要查询的ID,而是知道实体的2个键。

    < / li>
  2. 重写IEntityCache的新实现以支持多列(例如IEntityCache<string, string>?)。不确定cachemanager的限制是否可行?

这里是一个问题:ICacheManager的内部工作本身就是对不同缓存提供程序(例如IMemoryCache,Redis等)的抽象吗?会阻止多列实现吗?

0 个答案:

没有答案