补充 FreeSql.Generator ManyToMany 特性

This commit is contained in:
28810 2020-06-19 23:48:53 +08:00
parent 31e4b2d8fa
commit f1e144daaf
2 changed files with 32 additions and 2 deletions

View File

@ -206,8 +206,7 @@ namespace @gen.NameSpace {
@:#endregion
}
@if (isManyToMany) {
@:
@:#region => ManyToMany
var manyAny = false;
foreach (var ft in gen.tables) {
if (ft != gen.table) {
var ftfks = ft.Foreigns.Where(ftfk => ftfk.Columns.Where(ftfkcol => ftfkcol.IsPrimary == false).Any() == false).ToArray();
@ -230,15 +229,30 @@ namespace @gen.NameSpace {
{
fkTableName = fkTableName.Replace(rightft.Schema + ""."", """");
}
var middleTableName = (midft.Schema + ""."" + midft.Name).Trim('.');
if (midft.Schema == ""public"" || midft.Schema == ""dbo"")
{
middleTableName = middleTableName.Replace(midft.Schema + ""."", """");
}
var csname = rightft.Name;
if (manyAny == false)
{
manyAny = true;
@:
@:#region => ManyToMany
}
@:
@:[Navigate(ManyToMany = typeof(@gen.GetCsName(middleTableName)))]
@:public@(isLazying ? "" virtual"" : """") List<@gen.GetCsName(fkTableName)> @gen.GetCsName(csname)s { get; set; }
}
}
}
}
if (manyAny)
{
@:
@:#endregion
}
}
}
@gen.GetMySqlEnumSetDefine()

View File

@ -125,6 +125,13 @@
清空状态数据
</summary>
</member>
<member name="M:FreeSql.DbSet`1.RemoveAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
<summary>
根据 lambda 条件删除数据
</summary>
<param name="predicate"></param>
<returns></returns>
</member>
<member name="M:FreeSql.DbSet`1.Add(`0)">
<summary>
添加
@ -479,5 +486,14 @@
<param name="that"></param>
<returns></returns>
</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>
</doc>