Skip to content

Commit bf4f088

Browse files
2881028810
authored andcommitted
- 修复 IUpdate.Set 表达式传入匿名类更新多个字段,后表达式未加[]或""的 bug;
- 修复 Aop.ConfigEntityProperty 操作导航属性后,执行 insert 语句认为它也是字段的 bug;
1 parent b2cb162 commit bf4f088

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

FreeSql/Internal/CommonProvider/UpdateProvider.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@ public IUpdate<T1> Set<TMember>(Expression<Func<T1, TMember>> exp)
451451
var memberName = initExp.Bindings[a].Member.Name;
452452
if (_table.ColumnsByCsIgnore.ContainsKey(memberName)) continue;
453453
if (_table.ColumnsByCs.TryGetValue(memberName, out var col) == false) throw new Exception($"找不到属性:{memberName}");
454-
var memberValue = _commonExpression.ExpressionLambdaToSql(initAssignExp.Expression, new CommonExpression.ExpTSC { });
454+
var memberValue = _commonExpression.ExpressionLambdaToSql(initAssignExp.Expression, new CommonExpression.ExpTSC { isQuoteName = true });
455455
_setIncr.Append(", ").Append(_commonUtils.QuoteSqlName(col.Attribute.Name)).Append(" = ").Append(memberValue);
456456
}
457457
}
@@ -465,7 +465,7 @@ public IUpdate<T1> Set<TMember>(Expression<Func<T1, TMember>> exp)
465465
var memberName = newExp.Members[a].Name;
466466
if (_table.ColumnsByCsIgnore.ContainsKey(memberName)) continue;
467467
if (_table.ColumnsByCs.TryGetValue(memberName, out var col) == false) throw new Exception($"找不到属性:{memberName}");
468-
var memberValue = _commonExpression.ExpressionLambdaToSql(newExp.Arguments[a], new CommonExpression.ExpTSC { });
468+
var memberValue = _commonExpression.ExpressionLambdaToSql(newExp.Arguments[a], new CommonExpression.ExpTSC { isQuoteName = true });
469469
_setIncr.Append(", ").Append(_commonUtils.QuoteSqlName(col.Attribute.Name)).Append(" = ").Append(memberValue);
470470
}
471471
}

FreeSql/Internal/UtilsExpressionTree.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ internal static TableInfo GetTableByEntity(Type entity, CommonUtils common)
7575
var setMethod = trytb.Type.GetMethod($"set_{p.Name}");
7676
var colattr = common.GetEntityColumnAttribute(entity, p);
7777
var tp = common.CodeFirst.GetDbInfo(colattr?.MapType ?? p.PropertyType);
78-
//if (tp == null) continue;
78+
if (tp == null && colattr != null) colattr.IsIgnore = true; //无法匹配的属性,认定是导航属性,且自动过滤
7979
if (tp == null && colattr == null)
8080
{
8181
if (common.CodeFirst.IsLazyLoading)

0 commit comments

Comments
 (0)