Merge pull request #1199 from xunapro/master

fix: 修复ManyToMany不会触发AsTable的bug
This commit is contained in:
2881099 2022-07-29 18:35:29 +08:00 committed by GitHub
commit 80e0ae0560
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2352,6 +2352,7 @@ namespace FreeSql.Internal
var mtmReftbname = e.FreeParse(Expression.MakeMemberAccess(memberExp.Expression, exp3Tb.Properties[exp3Tb.ColumnsByPosition[0].CsName]));
mtmReftbname = mtmReftbname.Substring(0, mtmReftbname.Length - commonExp._common.QuoteSqlName(exp3Tb.ColumnsByPosition[0].Attribute.Name).Length - 1);
var midSelect = commonExp._common._orm.Select<object>().As($"M{select._tables[0].Alias}_M{mtmReftbname}").AsType(memberTbref.RefMiddleEntityType) as Select1Provider<object>;
select._tableRules.ForEach(o => midSelect.AsTable(o));
switch (commonExp._ado.DataType)
{
case DataType.Oracle:
@ -2599,7 +2600,7 @@ namespace FreeSql.Internal
}
throw throwCallExp(CoreStrings.Not_Support);
}
Exception throwCallExp(string message) => new Exception(CoreStrings.Parsing_Failed(callExp.Method.Name,message));
Exception throwCallExp(string message) => new Exception(CoreStrings.Parsing_Failed(callExp.Method.Name, message));
}
}
}