- 修复 .In() 非表达式解析场景的 null 处理;

This commit is contained in:
2881099
2025-04-10 10:57:55 +08:00
parent eecad16e17
commit 373911b0b4

View File

@@ -77,7 +77,7 @@ public static class FreeSqlGlobalExpressionCallExtensions
/// </summary> /// </summary>
public static bool In<T>(this T field, T value1) public static bool In<T>(this T field, T value1)
{ {
if (expContext.Value == null) return field.Equals(value1); if (expContext.Value == null) return object.Equals(field, value1);
expContext.Value.Result = $"{pc["field"]} = {pc["value1"]}"; expContext.Value.Result = $"{pc["field"]} = {pc["value1"]}";
return true; return true;
} }
@@ -86,7 +86,7 @@ public static class FreeSqlGlobalExpressionCallExtensions
/// </summary> /// </summary>
public static bool In<T>(this T field, T value1, T value2) public static bool In<T>(this T field, T value1, T value2)
{ {
if (expContext.Value == null) return field.Equals(value1) || field.Equals(value2); if (expContext.Value == null) return object.Equals(field, value1) || object.Equals(field, value2);
expContext.Value.Result = $"{pc["field"]} IN ({pc["value1"]},{pc["value2"]})"; expContext.Value.Result = $"{pc["field"]} IN ({pc["value1"]},{pc["value2"]})";
return true; return true;
} }
@@ -95,7 +95,7 @@ public static class FreeSqlGlobalExpressionCallExtensions
/// </summary> /// </summary>
public static bool In<T>(this T field, T value1, T value2, T value3) public static bool In<T>(this T field, T value1, T value2, T value3)
{ {
if (expContext.Value == null) return field.Equals(value1) || field.Equals(value2) || field.Equals(value3); if (expContext.Value == null) return object.Equals(field, value1) || object.Equals(field, value2) || object.Equals(field, value3);
expContext.Value.Result = $"{pc["field"]} IN ({pc["value1"]},{pc["value2"]},{pc["value3"]})"; expContext.Value.Result = $"{pc["field"]} IN ({pc["value1"]},{pc["value2"]},{pc["value3"]})";
return true; return true;
} }
@@ -104,7 +104,7 @@ public static class FreeSqlGlobalExpressionCallExtensions
/// </summary> /// </summary>
public static bool In<T>(this T field, T value1, T value2, T value3, T value4) public static bool In<T>(this T field, T value1, T value2, T value3, T value4)
{ {
if (expContext.Value == null) return field.Equals(value1) || field.Equals(value2) || field.Equals(value3) || field.Equals(value4); if (expContext.Value == null) return object.Equals(field, value1) || object.Equals(field, value2) || object.Equals(field, value3) || object.Equals(field, value4);
expContext.Value.Result = $"{pc["field"]} IN ({pc["value1"]},{pc["value2"]},{pc["value3"]},{pc["value4"]})"; expContext.Value.Result = $"{pc["field"]} IN ({pc["value1"]},{pc["value2"]},{pc["value3"]},{pc["value4"]})";
return true; return true;
} }
@@ -113,7 +113,7 @@ public static class FreeSqlGlobalExpressionCallExtensions
/// </summary> /// </summary>
public static bool In<T>(this T field, T value1, T value2, T value3, T value4, T value5) public static bool In<T>(this T field, T value1, T value2, T value3, T value4, T value5)
{ {
if (expContext.Value == null) return field.Equals(value1) || field.Equals(value2) || field.Equals(value3) || field.Equals(value4) || field.Equals(value5); if (expContext.Value == null) return object.Equals(field, value1) || object.Equals(field, value2) || object.Equals(field, value3) || object.Equals(field, value4) || object.Equals(field, value5);
expContext.Value.Result = $"{pc["field"]} IN ({pc["value1"]},{pc["value2"]},{pc["value3"]},{pc["value4"]},{pc["value5"]})"; expContext.Value.Result = $"{pc["field"]} IN ({pc["value1"]},{pc["value2"]},{pc["value3"]},{pc["value4"]},{pc["value5"]})";
return true; return true;
} }