diff --git a/FreeSql/FreeSql.csproj b/FreeSql/FreeSql.csproj index 1755002b..18f277ba 100644 --- a/FreeSql/FreeSql.csproj +++ b/FreeSql/FreeSql.csproj @@ -2,7 +2,7 @@ netstandard2.0 - 0.4.1.2 + 0.4.5 true YeXiangQin FreeSql is the most convenient ORM in dotnet. It supports Mysql, Postgresql, SqlServer, Oracle and Sqlite. diff --git a/FreeSql/Internal/CommonProvider/UpdateProvider.cs b/FreeSql/Internal/CommonProvider/UpdateProvider.cs index 975580a2..7951c178 100644 --- a/FreeSql/Internal/CommonProvider/UpdateProvider.cs +++ b/FreeSql/Internal/CommonProvider/UpdateProvider.cs @@ -285,12 +285,13 @@ namespace FreeSql.Internal.CommonProvider { return this; } public IUpdate Set(Expression> binaryExpression) { - if (binaryExpression?.Body is BinaryExpression == false) return this; + if (binaryExpression?.Body is BinaryExpression == false && + binaryExpression?.Body.NodeType != ExpressionType.Call) return this; var cols = new List(); var expt = _commonExpression.ExpressionWhereLambdaNoneForeignObject(null, cols, binaryExpression, null); if (cols.Any() == false) return this; foreach (var col in cols) { - if (col.Column.Attribute.IsNullable == true) { + if (col.Column.Attribute.IsNullable == true && col.Column.CsType.IsNullableType()) { var replval = _orm.CodeFirst.GetDbInfo(col.Column.CsType.GenericTypeArguments.FirstOrDefault())?.defaultValue; if (replval == null) continue; var replname = _commonUtils.QuoteSqlName(col.Column.Attribute.Name);