mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 20:38:16 +08:00
- 修复 JsonMap 进行 null 或非 null 查询;#1613
This commit is contained in:
@ -842,10 +842,16 @@ namespace FreeSql.Internal
|
||||
(int)(rightExp as ConstantExpression).Value == 0)
|
||||
return ExpressionBinary(oper, leftExpCall.Arguments[0], leftExpCall.Arguments[1], tsc);
|
||||
}
|
||||
var exptb = _common.GetTableByEntity(leftExp.Type);
|
||||
if (exptb?.Properties.Any() == true) leftExp = Expression.MakeMemberAccess(leftExp, exptb.Properties[(exptb.Primarys.FirstOrDefault() ?? exptb.Columns.FirstOrDefault().Value)?.CsName]);
|
||||
exptb = _common.GetTableByEntity(leftExp.Type);
|
||||
if (exptb?.Properties.Any() == true) rightExp = Expression.MakeMemberAccess(rightExp, exptb.Properties[(exptb.Primarys.FirstOrDefault() ?? exptb.Columns.FirstOrDefault().Value).CsName]);
|
||||
if (Utils.dicExecuteArrayRowReadClassOrTuple.ContainsKey(leftExp.Type) == false && Utils.TypeHandlers.ContainsKey(leftExp.Type) == false)
|
||||
{
|
||||
var exptb = _common.GetTableByEntity(leftExp.Type);
|
||||
if (exptb?.Properties.Any() == true) leftExp = Expression.MakeMemberAccess(leftExp, exptb.Properties[(exptb.Primarys.FirstOrDefault() ?? exptb.Columns.FirstOrDefault().Value)?.CsName]);
|
||||
}
|
||||
if (Utils.dicExecuteArrayRowReadClassOrTuple.ContainsKey(rightExp.Type) == false && Utils.TypeHandlers.ContainsKey(rightExp.Type) == false)
|
||||
{
|
||||
var exptb = _common.GetTableByEntity(rightExp.Type);
|
||||
if (exptb?.Properties.Any() == true) rightExp = Expression.MakeMemberAccess(rightExp, exptb.Properties[(exptb.Primarys.FirstOrDefault() ?? exptb.Columns.FirstOrDefault().Value).CsName]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user