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,可以参考代码自行调整 + + + + + +