- 增加 IAsTable.SetTableName 自定义分表名;

This commit is contained in:
2881099 2023-11-22 21:52:53 +08:00
parent 5260c856a3
commit 99c3cd4ff6
3 changed files with 22 additions and 4 deletions

View File

@ -42,4 +42,9 @@ class ModAsTableImpl : IAsTable
if (tables.Any() == false) return AllTables; if (tables.Any() == false) return AllTables;
return tables; return tables;
} }
public IAsTable SetTableName(int index, string tableName)
{
throw new NotImplementedException();
}
} }

View File

@ -604,6 +604,10 @@ namespace base_entity
//var table = fsql.CodeFirst.GetTableByEntity(typeof(AsTableLog)); //var table = fsql.CodeFirst.GetTableByEntity(typeof(AsTableLog));
//table.SetAsTable(new ModAsTableImpl(fsql), table.ColumnsByCs[nameof(AsTableLog.click)]); //table.SetAsTable(new ModAsTableImpl(fsql), table.ColumnsByCs[nameof(AsTableLog.click)]);
fsql.CodeFirst.GetTableByEntity(typeof(AsTableLog)).AsTableImpl
.SetTableName(0, "AsTableLog1")
.SetTableName(1, "AsTableLog2");
var testitems = new[] var testitems = new[]
{ {
new AsTableLog{ msg = "msg01", createtime = DateTime.Parse("2022-1-1 13:00:11"), click = 1 }, new AsTableLog{ msg = "msg01", createtime = DateTime.Parse("2022-1-1 13:00:11"), click = 1 },

View File

@ -86,6 +86,7 @@ namespace FreeSql.DataAnnotations
public interface IAsTable public interface IAsTable
{ {
string[] AllTables { get; } string[] AllTables { get; }
IAsTable SetTableName(int index, string tableName);
string GetTableNameByColumnValue(object columnValue, bool autoExpand = false); string GetTableNameByColumnValue(object columnValue, bool autoExpand = false);
string[] GetTableNamesByColumnValueRange(object columnValue1, object columnValue2); string[] GetTableNamesByColumnValueRange(object columnValue1, object columnValue2);
string[] GetTableNamesBySqlWhere(string sqlWhere, List<DbParameter> dbParams, SelectTableInfo tb, CommonUtils commonUtils); string[] GetTableNamesBySqlWhere(string sqlWhere, List<DbParameter> dbParams, SelectTableInfo tb, CommonUtils commonUtils);
@ -377,5 +378,13 @@ namespace FreeSql.DataAnnotations
} }
} }
} }
public IAsTable SetTableName(int index, string tableName)
{
lock (_lock)
{
_allTables[index] = tableName;
}
return this;
}
} }
} }