Update query filter

This commit is contained in:
sunkaixuan 2024-12-17 13:58:58 +08:00
parent 9d1e7c6487
commit 77b3455b36

View File

@ -460,7 +460,7 @@ namespace SqlSugar
if (isSameName||ChildType.IsInterface)
{
var mysql = GetSql(exp, isSingle);
if (ChildType.IsInterface)
if (ChildType.IsInterface&&item.IsJoinQuery==true)
{
foreach (var joinInfoItem in this.JoinQueryInfos.Where(it => it.EntityType.GetInterfaces().Any(z=>z==ChildType)))
{
@ -469,6 +469,15 @@ namespace SqlSugar
joinInfoItem.JoinWhere += (" AND " + Regex.Replace(addSql, "^ (WHERE|AND) ", ""));
}
}
else if (ChildType.IsInterface && item.IsJoinQuery == false)
{
foreach (var joinInfoItem in this.JoinQueryInfos.Where(it => it.EntityType.GetInterfaces().Any(z => z == ChildType)))
{
var addSql = mysql.Replace(itName, this.Builder.GetTranslationColumnName(joinInfoItem.ShortName) + ".");
addSql = ReplaceFilterColumnName(addSql, joinInfoItem.EntityType, joinInfoItem.ShortName);
this.WhereInfos.Add (" AND " + Regex.Replace(addSql, "^ (WHERE|AND) ", ""));
}
}
else
{
foreach (var joinInfoItem in this.JoinQueryInfos.Where(it => it.TableName == entityInfo.DbTableName))