lohaaa
lohaaa
目前没有什么解决思路,请大佬帮忙看看,或有是否有最新的多字段分表demo提供参考。
@xuejmnet 非常感谢,框架用起来很舒心。
@xuejmnet 还有一个问题需要请教,在多字段分表中我想如果表不存在自动创建表(动态追加增加多字段分表),如在MultiFieldRoute : AbstractShardingOperatorVirtualTableRoute中如何获取组合后的完整表后缀,如 Tabel_ACode_BCode 中的 ACode_BCode 部分,以及在何时执行创建表方法。
@xuejmnet 当我只在查询条件中放入额外属性的话调用链过程中不会进入GetRouteToFilter方法,这种情况如何获取到。 await dbContext.Players.Where(x => x.AppCode == "game" && x.GroupCode == "group") public virtual Func GetRouteFilter( object shardingKey, ShardingOperatorEnum shardingOperator, string shardingPropertyName) { return this.EntityMetadata.IsMainShardingTableKey(shardingPropertyName) ? this.GetRouteToFilter(this.CompareValueToKey(shardingKey), shardingOperator) : this.GetExtraRouteFilter(shardingKey,...
> https://www.cnblogs.com/xuejiaming/p/15728340.html 可以看下这篇文章 > > https://github.com/xuejmnet/TwoPropertyDemo 这个demo你看了吗 https://github.com/xuejmnet/TwoPropertyDemo/blob/main/TwoPropertyDemo/Sharding.cs 这个里面写了对应的双字段路由 demo和文章在之前我都看过了,目前不理解的地方可能在,当两个分片键都是动态的时候如何获取完整的后缀,然后使用autoCreateIfPresent里面的方式动态创建表,我周末再研究一下吧,感谢解答。
> @lohaaa 你想错了,查询因为走的两个字段所以取不到全名称但是你如果想要不存在创建应该是插入的时候,所以插入的时候会走GetRouteToFilter 是的,我进入误区了,茅塞顿开,仔细看源码的话在 if isQuery我就应该找到答案,还是大意了,非常感谢作者大大的解答。
> 我之前也说错了应该是对象会走`RouteWithValue`而不是`GetRouteToFilter` 目前已经完善好,跑通了。
#444 需求实现大致与此issues一致