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); } }
private DataObject GetDataObjectDetail(string dataObjectID) { var dataobject = new DataObjectManager().GetDataObject(dataObjectID); if (dataobject.DataSource == null) { var dataSource = DataSourceService.GetInstance().GetDataSource(dataobject.DataSourceName); if (dataSource != null) { dataobject.DataSource = dataSource; } } if (!string.IsNullOrWhiteSpace(dataobject.TableShardingStrategyID)) { var strategy = ShardingStrategyService.GetInstance().GetTableShardingStrategy(dataobject.TableShardingStrategyID); if (strategy != null) { dataobject.TableShardingStrategy = strategy; if (string.IsNullOrWhiteSpace(dataobject.ActualTableNames)) { var tableNames = ShardingStrategyService.GetInstance().GetShardingTableNames(strategy, dataobject.LogicTableName); if (tableNames != null && tableNames.Count > 0) { dataobject.ActualTableNames = string.Join(",", tableNames); } } } } return(dataobject); }