From 47977b0407cc882193287f26260de0e1b9f60440 Mon Sep 17 00:00:00 2001 From: "ricardo.matias" Date: Tue, 6 Feb 2024 21:55:57 +0000 Subject: [PATCH 1/2] #282 Fixed member type validation --- DapperExtensions/DapperImplementor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DapperExtensions/DapperImplementor.cs b/DapperExtensions/DapperImplementor.cs index 9c47a1e3..f4a9a775 100644 --- a/DapperExtensions/DapperImplementor.cs +++ b/DapperExtensions/DapperImplementor.cs @@ -505,7 +505,7 @@ protected virtual DynamicParameters AddParameter(T entity, DynamicParameters parameters ??= new DynamicParameters(); - if (prop.MemberInfo.DeclaringType == typeof(bool) || (prop.MemberInfo.DeclaringType.IsGenericType && prop.MemberType.GetGenericTypeDefinition() == typeof(Nullable<>) && prop.MemberInfo.DeclaringType.GetGenericArguments()[0] == typeof(bool))) + if (prop.MemberInfo.DeclaringType == typeof(bool) || (prop.MemberInfo.DeclaringType.IsGenericType && prop.MemberType.IsGenericType && prop.MemberType.GetGenericTypeDefinition() == typeof(Nullable<>) && prop.MemberInfo.DeclaringType.GetGenericArguments()[0] == typeof(bool))) { var value = (bool?)propValue; if (!value.HasValue) From bafa1d69fe137f067e02a7e34572752351782ae7 Mon Sep 17 00:00:00 2001 From: "ricardo.matias" Date: Tue, 6 Feb 2024 21:59:51 +0000 Subject: [PATCH 2/2] Fixed InternalGet returning all table records due to GetPredicate not returning the correct predicate --- DapperExtensions/DapperImplementor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DapperExtensions/DapperImplementor.cs b/DapperExtensions/DapperImplementor.cs index f4a9a775..84467cc8 100644 --- a/DapperExtensions/DapperImplementor.cs +++ b/DapperExtensions/DapperImplementor.cs @@ -288,7 +288,7 @@ protected static IPredicate GetPredicate(IClassMapper classMap, object predicate var wherePredicate = predicate as IPredicate; if (wherePredicate == null && predicate != null) { - wherePredicate = GetEntityPredicate(classMap, predicate); + wherePredicate = GetIdPredicate(classMap, predicate); } return wherePredicate;