- 修复 .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>
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"]}";
return true;
}
@@ -86,7 +86,7 @@ public static class FreeSqlGlobalExpressionCallExtensions
/// </summary>
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"]})";
return true;
}
@@ -95,7 +95,7 @@ public static class FreeSqlGlobalExpressionCallExtensions
/// </summary>
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"]})";
return true;
}
@@ -104,7 +104,7 @@ public static class FreeSqlGlobalExpressionCallExtensions
/// </summary>
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"]})";
return true;
}
@@ -113,7 +113,7 @@ public static class FreeSqlGlobalExpressionCallExtensions
/// </summary>
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"]})";
return true;
}