|
|
@@ -1753,7 +1753,7 @@ public class SQLiteProvider : IProvider
|
|
|
{
|
|
|
if (convertToNull && o.Equals(false))
|
|
|
return DBNull.Value;
|
|
|
- return o;
|
|
|
+ return o.Equals(true) ? "1" : "0";
|
|
|
}
|
|
|
|
|
|
if (convertToNull && type == typeof(string) && string.IsNullOrEmpty(o.ToString()))
|
|
|
@@ -1865,6 +1865,8 @@ public class SQLiteProvider : IProvider
|
|
|
return $"'{date:yyyy-MM-dd HH:mm:ss.FFFFFFF}'";
|
|
|
if (value is TimeSpan time)
|
|
|
return time.TotalHours.ToString();
|
|
|
+ if (value is bool b)
|
|
|
+ return b ? "'1'" : "'0'";
|
|
|
return value.ToString() ?? "";
|
|
|
}
|
|
|
|
|
|
@@ -1970,6 +1972,14 @@ public class SQLiteProvider : IProvider
|
|
|
{
|
|
|
return 0;
|
|
|
}
|
|
|
+ else if (type == typeof(Guid))
|
|
|
+ {
|
|
|
+ return Guid.Empty;
|
|
|
+ }
|
|
|
+ else if (type == typeof(bool))
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
return null;
|
|
|
@@ -2091,8 +2101,9 @@ public class SQLiteProvider : IProvider
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ var strProp = $"IFNULL({prop},{EscapeValue(GetFilterDefaultValue(filter.Type))})";
|
|
|
value = useparams ? EncodeParameter(command, value) : EscapeValue(filter.Value);
|
|
|
- result = string.Format("(" + operators[filter.Operator] + ")", prop, value);
|
|
|
+ result = string.Format("(" + operators[filter.Operator] + ")", strProp, value);
|
|
|
}
|
|
|
}
|
|
|
}
|