修复分片字段为null类型情况下的bug和对应分片值强转的bug导致分片无效,发布x.5.0.2
This commit is contained in:
parent
b17a841668
commit
b0734801fa
|
@ -1,9 +1,9 @@
|
|||
:start
|
||||
::定义版本
|
||||
set EFCORE2=2.5.0.1
|
||||
set EFCORE3=3.5.0.1
|
||||
set EFCORE5=5.5.0.1
|
||||
set EFCORE6=6.5.0.1
|
||||
set EFCORE2=2.5.0.2
|
||||
set EFCORE3=3.5.0.2
|
||||
set EFCORE5=5.5.0.2
|
||||
set EFCORE6=6.5.0.2
|
||||
|
||||
::删除所有bin与obj下的文件
|
||||
@echo off
|
||||
|
|
|
@ -385,6 +385,7 @@ namespace Sample.SqlServer.Controllers
|
|||
[HttpGet]
|
||||
public async Task<IActionResult> Get6()
|
||||
{
|
||||
var resultx111 = await _defaultTableDbContext.Set<SysUserMod>().FirstOrDefaultAsync(o => o.Id == "198");
|
||||
var sysUserSalaries = await _defaultTableDbContext.Set<SysUserSalary>().Where(o=>o.DateOfMonth==202101).ToListAsync();
|
||||
return Ok();
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
"commandName": "Project",
|
||||
"dotnetRunMessages": "true",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "values/get",
|
||||
"launchUrl": "values/get0",
|
||||
"applicationUrl": "http://localhost:5000",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
|
|
|
@ -146,7 +146,8 @@ namespace ShardingCore.Core.Internal.Visitors
|
|||
{
|
||||
return expression is ConstantExpression
|
||||
|| (expression is MemberExpression member && (member.Expression is ConstantExpression || member.Expression is MemberExpression || member.Expression is MemberExpression))
|
||||
|| expression is MethodCallExpression;
|
||||
|| expression is MethodCallExpression
|
||||
|| (expression is UnaryExpression unaryExpression && unaryExpression.NodeType is ExpressionType.Convert ) ;
|
||||
}
|
||||
|
||||
private bool IsMethodCall(Expression expression)
|
||||
|
@ -470,9 +471,9 @@ namespace ShardingCore.Core.Internal.Visitors
|
|||
}
|
||||
}
|
||||
|
||||
if (binaryExpression.Left is UnaryExpression unaryExpression1)
|
||||
if (binaryExpression.Left is UnaryExpression unaryExpression1&& binaryExpression.Right is not MemberExpression)
|
||||
left = Resolve(unaryExpression1);
|
||||
if (binaryExpression.Right is UnaryExpression unaryExpression2)
|
||||
if (binaryExpression.Right is UnaryExpression unaryExpression2 && binaryExpression.Left is not MemberExpression)
|
||||
right = Resolve(unaryExpression2);
|
||||
|
||||
//组合
|
||||
|
|
|
@ -95,6 +95,10 @@ namespace ShardingCore.Core.Internal.Visitors
|
|||
)
|
||||
.ToArray()
|
||||
);
|
||||
case UnaryExpression e when e.NodeType == ExpressionType.Convert:
|
||||
{
|
||||
return GetExpressionValue(e.Operand);
|
||||
}
|
||||
|
||||
default:
|
||||
//TODO: better messaging
|
||||
|
|
Loading…
Reference in New Issue