diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable.cs index 7928a1ef4..fce379d5e 100644 --- a/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable.cs +++ b/Src/Asp.Net/SqlServerTest/UnitTest/UQueryable.cs @@ -160,6 +160,7 @@ namespace OrmTest { throw new Exception("unit query error"); } + db.Queryable().Where(it => SqlFunc.Round(it.Id, 2) == SqlFunc.Abs(it.Id)).ToList(); } diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/DefaultDbMethod.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/DefaultDbMethod.cs index d48b243fb..a32862ff8 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/DefaultDbMethod.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/DefaultDbMethod.cs @@ -487,7 +487,8 @@ namespace SqlSugar public string Round(MethodCallExpressionModel model) { var parameter = model.Args[0]; - return string.Format(" ROUND({0},{1}) ", parameter.MemberName); + var parameter2= model.Args[1]; + return string.Format(" ROUND({0},{1}) ", parameter.MemberName, parameter2.MemberName); } } } diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/SqlFunc.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/SqlFunc.cs index eebb04310..9f90fd9a4 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/SqlFunc.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/DbMethods/SqlFunc.cs @@ -133,7 +133,7 @@ namespace SqlSugar public static T Abs( T value) { throw new NotSupportedException("Can only be used in expressions"); } - public static string Round(T value,int precision) { throw new NotSupportedException("Can only be used in expressions"); } + public static T Round(T value,int precision) { throw new NotSupportedException("Can only be used in expressions"); } /// /// Subquery