From f1e144daaf488779ba966fbea2dac3334ed517ea Mon Sep 17 00:00:00 2001 From: 28810 <28810@YEXIANGQIN> Date: Fri, 19 Jun 2020 23:48:53 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=20FreeSql.Generator=20ManyTo?= =?UTF-8?q?Many=20=E7=89=B9=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FreeSql.Generator/RazorContentManager.cs | 18 ++++++++++++++++-- FreeSql.DbContext/FreeSql.DbContext.xml | 16 ++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/Extensions/FreeSql.Generator/RazorContentManager.cs b/Extensions/FreeSql.Generator/RazorContentManager.cs index a5d9de6b..baa57000 100644 --- a/Extensions/FreeSql.Generator/RazorContentManager.cs +++ b/Extensions/FreeSql.Generator/RazorContentManager.cs @@ -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() diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml index 132d875e..4854f49c 100644 --- a/FreeSql.DbContext/FreeSql.DbContext.xml +++ b/FreeSql.DbContext/FreeSql.DbContext.xml @@ -125,6 +125,13 @@ 清空状态数据 + + + 根据 lambda 条件删除数据 + + + + 添加 @@ -479,5 +486,14 @@ + + + 批量注入 Repository,可以参考代码自行调整 + + + + + +