namespace IStation.Entity { /// /// 分表规则 /// public class ScheduleConclusionSubTableService : ISplitTableService { /// /// 获取所有的数据库中的表 /// /// /// /// /// /// public List GetAllTables(ISqlSugarClient db, EntityInfo EntityInfo, List tableInfos) { List result = new List(); foreach (var item in tableInfos) { if (item.Name.Contains("_Cl_")) //区分标识如果不用正则符复杂一些,防止找错表 { SplitTableInfo data = new SplitTableInfo() { TableName = item.Name //要用item.name不要写错了 }; result.Add(data); } } return result.OrderBy(it => it.TableName).ToList();//打断点看一下有没有查出所有分表 } /// /// /// /// /// /// /// /// public object GetFieldValue(ISqlSugarClient db, EntityInfo entityInfo, SplitType splitType, object entityValue) { var splitColumn = entityInfo.Columns.FirstOrDefault(it => it.PropertyInfo.GetCustomAttribute() != null); return splitColumn.PropertyInfo.GetValue(entityValue, null); } /// /// /// /// /// /// public string GetTableName(ISqlSugarClient db, EntityInfo EntityInfo) { return EntityInfo.DbTableName + "_Cl"; } public string GetTableName(ISqlSugarClient db, EntityInfo EntityInfo, SplitType type) { return EntityInfo.DbTableName + "_Cl"; } /// /// 确定生成数据库表的时候,表的名称 /// /// /// /// /// /// public string GetTableName(ISqlSugarClient db, EntityInfo entityInfo, SplitType splitType, object fieldValue) { return entityInfo.DbTableName + "_Cl_" + fieldValue.ToString(); } } }