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