mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 10:42:52 +08:00
补充 FreeSql.Generator ManyToMany 特性
This commit is contained in:
parent
31e4b2d8fa
commit
f1e144daaf
@ -206,8 +206,7 @@ namespace @gen.NameSpace {
|
|||||||
@:#endregion
|
@:#endregion
|
||||||
}
|
}
|
||||||
@if (isManyToMany) {
|
@if (isManyToMany) {
|
||||||
@:
|
var manyAny = false;
|
||||||
@:#region 外键 => 导航属性,ManyToMany
|
|
||||||
foreach (var ft in gen.tables) {
|
foreach (var ft in gen.tables) {
|
||||||
if (ft != gen.table) {
|
if (ft != gen.table) {
|
||||||
var ftfks = ft.Foreigns.Where(ftfk => ftfk.Columns.Where(ftfkcol => ftfkcol.IsPrimary == false).Any() == false).ToArray();
|
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 + ""."", """");
|
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;
|
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; }
|
@:public@(isLazying ? "" virtual"" : """") List<@gen.GetCsName(fkTableName)> @gen.GetCsName(csname)s { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (manyAny)
|
||||||
|
{
|
||||||
@:
|
@:
|
||||||
@:#endregion
|
@:#endregion
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@gen.GetMySqlEnumSetDefine()
|
@gen.GetMySqlEnumSetDefine()
|
||||||
|
@ -125,6 +125,13 @@
|
|||||||
清空状态数据
|
清空状态数据
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</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)">
|
<member name="M:FreeSql.DbSet`1.Add(`0)">
|
||||||
<summary>
|
<summary>
|
||||||
添加
|
添加
|
||||||
@ -479,5 +486,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>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user