Update Core

This commit is contained in:
sunkaixuan
2022-04-09 17:10:34 +08:00
parent 86063ca380
commit 3b64a53cf2
10 changed files with 52 additions and 8 deletions

View File

@@ -2,7 +2,7 @@
<package > <package >
<metadata> <metadata>
<id>SqlSugar</id> <id>SqlSugar</id>
<version>5.0.6.5</version> <version>5.0.6.6</version>
<title>SqlSugar .NET ORM Framework 版本, 5.0.3.3-max 最低要求 .Net Framework 4.6 | 5.0.0.2-5.0.3.2 最低要求 .Net Framework 4.5 | 4.0-4.9.11 最低要求 .Net Framework 4.0+ .NET ORM </title> <title>SqlSugar .NET ORM Framework 版本, 5.0.3.3-max 最低要求 .Net Framework 4.6 | 5.0.0.2-5.0.3.2 最低要求 .Net Framework 4.5 | 4.0-4.9.11 最低要求 .Net Framework 4.0+ .NET ORM </title>
<authors>sun kaixuan</authors> <authors>sun kaixuan</authors>
<owners>landa</owners> <owners>landa</owners>

View File

@@ -1911,7 +1911,28 @@ namespace SqlSugar
{ {
QueryBuilder.CheckExpression(expression, "OrderBy"); QueryBuilder.CheckExpression(expression, "OrderBy");
var isSingle = QueryBuilder.IsSingle(); var isSingle = QueryBuilder.IsSingle();
if ((expression as LambdaExpression).Body is NewExpression) if (expression.ToString().IsContainsIn("Desc(", "Asc("))
{
var orderValue = "";
var newExp = (expression as LambdaExpression).Body as NewExpression;
foreach (var item in newExp.Arguments)
{
if (item is MemberExpression)
{
orderValue +=
QueryBuilder.GetExpressionValue(item, isSingle ? ResolveExpressType.FieldSingle : ResolveExpressType.FieldMultiple).GetResultString() + ",";
}
else
{
orderValue +=
QueryBuilder.GetExpressionValue(item, isSingle ? ResolveExpressType.WhereSingle : ResolveExpressType.WhereMultiple).GetResultString() + ",";
}
}
orderValue = orderValue.TrimEnd(',');
OrderBy(orderValue);
return this;
}
else if ((expression as LambdaExpression).Body is NewExpression)
{ {
var lamResult = QueryBuilder.GetExpressionValue(expression, isSingle ? ResolveExpressType.ArraySingle : ResolveExpressType.ArrayMultiple); var lamResult = QueryBuilder.GetExpressionValue(expression, isSingle ? ResolveExpressType.ArraySingle : ResolveExpressType.ArrayMultiple);
var items = lamResult.GetResultString().Split(',').Where(it => it.HasValue()).Select(it => it + UtilConstants.Space + type.ToString().ToUpper()).ToList(); var items = lamResult.GetResultString().Split(',').Where(it => it.HasValue()).Select(it => it + UtilConstants.Space + type.ToString().ToUpper()).ToList();

View File

@@ -526,5 +526,14 @@ namespace SqlSugar
var parameter2 = model.Args[1]; var parameter2 = model.Args[1];
return string.Format(" ({0} <= {1}) ", parameter.MemberName, parameter2.MemberName); return string.Format(" ({0} <= {1}) ", parameter.MemberName, parameter2.MemberName);
} }
public virtual string Asc(MethodCallExpressionModel model)
{
return model.Args[0].MemberName + " ASC ";
}
public virtual string Desc(MethodCallExpressionModel model)
{
return model.Args[0].MemberName + " DESC ";
}
} }
} }

View File

@@ -80,6 +80,8 @@ namespace SqlSugar
string GreaterThan(MethodCallExpressionModel model); string GreaterThan(MethodCallExpressionModel model);
string GreaterThanOrEqual(MethodCallExpressionModel model); string GreaterThanOrEqual(MethodCallExpressionModel model);
string LessThan(MethodCallExpressionModel model); string LessThan(MethodCallExpressionModel model);
string LessThanOrEqual(MethodCallExpressionModel model); string LessThanOrEqual(MethodCallExpressionModel model);
string Asc(MethodCallExpressionModel model);
string Desc(MethodCallExpressionModel model);
} }
} }

View File

@@ -9,7 +9,14 @@ namespace SqlSugar
{ {
public partial class SqlFunc public partial class SqlFunc
{ {
public static T Desc<T>(T value)
{
throw new NotSupportedException("Can only be used in expressions");
}
public static T Asc<T>(T value)
{
throw new NotSupportedException("Can only be used in expressions");
}
public static int DateDiff(DateType dateType,DateTime littleTime, DateTime bigTime) public static int DateDiff(DateType dateType,DateTime littleTime, DateTime bigTime)
{ {
throw new NotSupportedException("Can only be used in expressions"); throw new NotSupportedException("Can only be used in expressions");

View File

@@ -910,6 +910,10 @@ namespace SqlSugar
return this.Context.DbMehtods.LessThan(model); return this.Context.DbMehtods.LessThan(model);
case "LessThanOrEqual": case "LessThanOrEqual":
return this.Context.DbMehtods.LessThanOrEqual(model); return this.Context.DbMehtods.LessThanOrEqual(model);
case "Asc":
return this.Context.DbMehtods.Asc(model);
case "Desc":
return this.Context.DbMehtods.Desc(model);
default: default:
break; break;
} }

View File

@@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework> <TargetFramework>netstandard2.1</TargetFramework>
<Version>5.0.6.5</Version> <Version>5.0.6.6</Version>
<Copyright>sun_kai_xuan</Copyright> <Copyright>sun_kai_xuan</Copyright>
<PackageProjectUrl>https://github.com/sunkaixuan/SqlSugar</PackageProjectUrl> <PackageProjectUrl>https://github.com/sunkaixuan/SqlSugar</PackageProjectUrl>
<PackageLicenseUrl></PackageLicenseUrl> <PackageLicenseUrl></PackageLicenseUrl>

View File

@@ -637,7 +637,8 @@ namespace SqlSugar
public SqlSugarProvider GetConnectionWithAttr<T>() public SqlSugarProvider GetConnectionWithAttr<T>()
{ {
var attr = typeof(T).GetCustomAttribute<TenantAttribute>(); var attr = typeof(T).GetCustomAttribute<TenantAttribute>();
Check.ExceptionEasy(attr==null,"not TenantAttribute", "不存在特性 TenantAttribute"); if (attr == null)
return this.GetConnection(this.CurrentConnectionConfig.ConfigId);
var configId = attr.configId; var configId = attr.configId;
return this.GetConnection(configId); return this.GetConnection(configId);
} }

View File

@@ -2,7 +2,7 @@
<package > <package >
<metadata> <metadata>
<id>SqlSugarCore</id> <id>SqlSugarCore</id>
<version>5.0.6.5</version> <version>5.0.6.6</version>
<authors>sunkaixuan</authors> <authors>sunkaixuan</authors>
<owners>果糖大数据科技</owners> <owners>果糖大数据科技</owners>
<licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl> <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl>

View File

@@ -2,7 +2,7 @@
<package > <package >
<metadata> <metadata>
<id>SqlSugarCoreNoDrive</id> <id>SqlSugarCoreNoDrive</id>
<version>5.0.6.5</version> <version>5.0.6.6</version>
<authors>sunkaixuan</authors> <authors>sunkaixuan</authors>
<owners>Landa</owners> <owners>Landa</owners>
<licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl> <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl>