public static string GetTableName(string tableName, DbContext dbContext) { if (dbContext != null && dbContext.UseSharding) { if (dbContext.ShardingMainDataIndex == 0) { throw new Exception("未设置分表定位索引,dbContext.ShardingMainDataIndex"); } var location = Sharding.DBService.GetLocation(tableName, dbContext.ShardingMainDataIndex, dbContext.DBLocation.ShardingDataBase); tableName = location.TablePart.PartName; } return tableName; }
/// <summary> /// 根据类型返回表名 /// 如果设置了分表,返回分表名 /// </summary> /// <param name="type"></param> /// <param name="dbContext"></param> /// <returns></returns> public static string GetTableName(Type type, DbContext dbContext) { var tableName = GetTable(type).TableName; return GetTableName(tableName, dbContext); }