From 8ab219b1459078a69c2c81d572693ab3427c3a3a Mon Sep 17 00:00:00 2001 From: TitovPavel <52369020+TitovPavel@users.noreply.github.com> Date: Mon, 15 Jun 2026 22:43:38 +0300 Subject: [PATCH 1/2] Implement type conversion for non-nullable types Add type conversion for non-nullable types using TypeDescriptor. --- src/RsqlParserNet.Linq/RsqlPredicateBuilder.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/RsqlParserNet.Linq/RsqlPredicateBuilder.cs b/src/RsqlParserNet.Linq/RsqlPredicateBuilder.cs index 0b3736e..37a8290 100644 --- a/src/RsqlParserNet.Linq/RsqlPredicateBuilder.cs +++ b/src/RsqlParserNet.Linq/RsqlPredicateBuilder.cs @@ -351,6 +351,12 @@ private static Expression ConvertValueExpression(RsqlValue value, Type targetTyp try { + var converter = TypeDescriptor.GetConverter(nonNullableType); + if (converter != null && converter.CanConvertFrom(typeof(string))) + { + return converter.ConvertFrom(null, CultureInfo.InvariantCulture, text); + } + if (nonNullableType == typeof(bool)) { return bool.Parse(text); From 4a7ceaedf758bcf08b11ebd5d2845b91d22d90f3 Mon Sep 17 00:00:00 2001 From: TitovPavel <52369020+TitovPavel@users.noreply.github.com> Date: Tue, 16 Jun 2026 14:40:21 +0300 Subject: [PATCH 2/2] Add using directive for System.ComponentModel --- src/RsqlParserNet.Linq/RsqlPredicateBuilder.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/RsqlParserNet.Linq/RsqlPredicateBuilder.cs b/src/RsqlParserNet.Linq/RsqlPredicateBuilder.cs index 37a8290..7d1c7ce 100644 --- a/src/RsqlParserNet.Linq/RsqlPredicateBuilder.cs +++ b/src/RsqlParserNet.Linq/RsqlPredicateBuilder.cs @@ -1,3 +1,4 @@ +using System.ComponentModel; using System.Globalization; using System.Linq.Expressions;