public void ShardingStrategyCRUDTest() { var strategy = new ShardingStrategy() { ID = "AreaTableSharding", DisplayName = "地区分表策略", PostFixListConfig = "sd,hb,gd,bj,sz,tj,sx,nm,hb,hn,sh", ShardingType = ShardingType.Enum }; try { ShardingStrategyService.GetInstance().DeleteShardingStrategy(strategy.ID); ShardingStrategyService.GetInstance().SaveShardingStrategy(strategy); var queryStrategy = ShardingStrategyService.GetInstance().GetShardingStrategy(strategy.ID); Assert.IsNotNull(queryStrategy); Assert.AreEqual(queryStrategy.DisplayName, strategy.DisplayName); Assert.AreEqual(queryStrategy.PostFixListConfig, strategy.PostFixListConfig); Assert.AreEqual(queryStrategy.ShardingType, strategy.ShardingType); TableShardingStrategy table = new TableShardingStrategy(queryStrategy); Assert.IsNotNull(table); Assert.AreEqual(queryStrategy.DisplayName, table.DisplayName); Assert.AreEqual(queryStrategy.PostFixListConfig, table.PostFixListConfig); Assert.AreEqual(queryStrategy.ShardingType, table.ShardingType); } finally { ShardingStrategyService.GetInstance().DeleteShardingStrategy(strategy.ID); } }
/// <summary> /// 保存分区策略 /// </summary> /// <param name="strategy">分区策略</param> public void SaveShardingStrategy(ShardingStrategy strategy) { if (strategy == null) { throw new ArgumentNullException("ShardingStrategyManager.SaveShardingStrategy.strategy"); } DacServiceManager.GetShardingStrategyDao().SaveShardingStrategy(strategy); }
/// <summary> /// 保存分区策略 /// </summary> /// <param name="strategy">分区策略</param> public void SaveShardingStrategy(ShardingStrategy strategy) { if (strategy == null) { throw new ArgumentNullException("ShardingStrategyService.SaveShardingStrategy.strategy"); } manager.SaveShardingStrategy(strategy); }
/// <summary> /// 删除分区策略 /// </summary> /// <param name="id">分区策略ID</param> public void DeleteShardingStrategy(string id) { if (string.IsNullOrWhiteSpace(id)) { throw new ArgumentNullException("ShardingStrategyService.DeleteShardingStrategy.id"); } if (dataSourceDic.ContainsKey(id)) { lock (syncObj) { if (dataSourceDic.ContainsKey(id)) { ShardingStrategy dataSource = null; dataSourceDic.TryRemove(id, out dataSource); } } } manager.DeleteShardingStrategy(id); }
public override int GetHashCode() { int hash = 1; hash ^= tableDescriptor_.GetHashCode(); if (Mode != 0) { hash ^= Mode.GetHashCode(); } if (BatchSizePerTensorCore != 0) { hash ^= BatchSizePerTensorCore.GetHashCode(); } if (NumHosts != 0) { hash ^= NumHosts.GetHashCode(); } if (NumTensorCores != 0) { hash ^= NumTensorCores.GetHashCode(); } if (ShardingStrategy != 0) { hash ^= ShardingStrategy.GetHashCode(); } if (PipelineExecutionWithTensorCore != false) { hash ^= PipelineExecutionWithTensorCore.GetHashCode(); } if (outputLayout_ != null) { hash ^= OutputLayout.GetHashCode(); } if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return(hash); }
/// <summary> /// 保存分区策略 /// </summary> /// <param name="strategy">分区策略</param> public void SaveShardingStrategy(ShardingStrategy strategy) { ShardingStrategies.Add(strategy); this.SaveChanges(); }