diff --git a/DapperExtensions/DapperImplementor.cs b/DapperExtensions/DapperImplementor.cs index 9c47a1e3..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; @@ -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)