- 添加 Aop.ConfigEntity 动态设置表名功能;#364 #1835 #1729 #1542 #1248 #1247 #407 #387

This commit is contained in:
2881099 2024-07-12 12:43:25 +08:00
parent 1b421722ed
commit 63ea706dcb
2 changed files with 18 additions and 8 deletions

View File

@ -826,5 +826,14 @@
<param name="that"></param> <param name="that"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Microsoft.Extensions.DependencyInjection.FreeSqlRepositoryDependencyInjection.AddFreeRepository(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{FreeSql.FluentDataFilter},System.Reflection.Assembly[])">
<summary>
批量注入 Repository可以参考代码自行调整
</summary>
<param name="services"></param>
<param name="globalDataFilter"></param>
<param name="assemblies"></param>
<returns></returns>
</member>
</members> </members>
</doc> </doc>

View File

@ -976,20 +976,21 @@ namespace FreeSql.Internal.CommonProvider
{ {
if (tb.Type == SelectTableInfoType.Parent) continue; if (tb.Type == SelectTableInfoType.Parent) continue;
if (dict.ContainsKey(tb.Table.Type)) continue; if (dict.ContainsKey(tb.Table.Type)) continue;
var name = tr?.Invoke(tb.Table.Type, tb.Table.DbName); var tbname = _commonUtils.GetEntityTableAopName(tb.Table, true);
if (string.IsNullOrEmpty(name)) name = tb.Table.DbName; var newname = tr?.Invoke(tb.Table.Type, tbname);
if (string.IsNullOrEmpty(newname)) newname = tbname;
else else
{ {
if (name.IndexOf(' ') == -1) //还可以这样select.AsTable((a, b) => "(select * from tb_topic where clicks > 10)").Page(1, 10).ToList() if (newname.IndexOf(' ') == -1) //还可以这样select.AsTable((a, b) => "(select * from tb_topic where clicks > 10)").Page(1, 10).ToList()
{ {
if (_orm.CodeFirst.IsSyncStructureToLower) name = name.ToLower(); if (_orm.CodeFirst.IsSyncStructureToLower) newname = newname.ToLower();
if (_orm.CodeFirst.IsSyncStructureToUpper) name = name.ToUpper(); if (_orm.CodeFirst.IsSyncStructureToUpper) newname = newname.ToUpper();
if (_orm.CodeFirst.IsAutoSyncStructure) _orm.CodeFirst.SyncStructure(tb.Table.Type, name); if (_orm.CodeFirst.IsAutoSyncStructure) _orm.CodeFirst.SyncStructure(tb.Table.Type, newname);
} }
else else
name = name.Replace(" \r\n", " \r\n "); newname = newname.Replace(" \r\n", " \r\n ");
} }
dict.Add(tb.Table.Type, name); dict.Add(tb.Table.Type, newname);
} }
unions.Add(dict); unions.Add(dict);
} }