同一个实体,不同表名这种应该如何设置? 返回

SqlSugar 沟通中
6 207
该叫什么 _ 发布于2周前
悬赏:0 飞吻

同一个实体,我通过  configure.EntityNameService  来修改表名字,第二次请求表名字不会再改变;

如下:

表A和表B都对应实体 C  ;

如果请求先请求到表B的接口, 在请求表A的接口,发现A接口处理的对应的表变成了表B。 
EntityNameService只会请求一次, 由于先请求了表B, 所有实体C的表后续走缓存就一直命中表B了, 有没有办法区分开?我使用两个不同的client都不行。

热忱回答6

  • db.Queryable<T>().AS(表名).ToList()

    0 回复
  • _ _ VIP0
    2周前

    @fate sta:不只是查询, 添加修改删除其他操作也需要改表名。   我想的是 两个sqlsugarclient 分别通过统一的处理; 使用 A 客户端 会取操作表A, 使用B客户端回去操作表B。 现在的问题是两个客户端貌似都取共享同一个 实体缓存了。 如果先调用了A客户端, 后续再调用B客户端, 就直接用实体类型取缓存里面查询表名了。 

    0 回复
  • Inertable(list).AS(表名).Execommand()

    一样 CRUD都支持AS

    0 回复
  • _ _ VIP0
    2周前

    @fate sta:代码已经都写好了, 再加As改动特别大。

    0 回复
  • db.MappingTables.Add("实体名","表名") 这样也行 ,当前上下文全部有效

    0 回复
  • _ _ VIP0
    2周前

    @fate stay night:AOP里面没有办法处理吗?

    0 回复