I get entity server exceptions when I try to build a predicate description (either through PredicateBuilder.Make or just newing up a PredicateDescription) when the property to compare to is nullable in the db (with the exception of nullable stirngs; those always seem to work). I've tried explicitly casting values to the nullable type (like int?), typing it as an nullable IList, etc. and nothing seems to work.
I'm using the 6.1.2.0c build. This was from an nullable int property:
Exception Type: IdeaBlade.EntityModel.EntityServerException
Message: Invalid values for InList operation -
not all values of type: System.Nullable`1[System.Int32]
RemoteExceptionName: System.ArgumentException
RemoteExceptionDetails: System.ArgumentException: Invalid values for InList operation - not all values of type: System.Nullable`1[System.Int32]
at IdeaBlade.Linq.PredicateDescription.Validate()
at IdeaBlade.Linq.PredicateDescription.Initialize(FilterOperator filterOp, Object value, Boolean ignoreCase)
at IdeaBlade.Linq.PredicateDescription..ctor(Type instanceType, String propertyPath, FilterOperator filterOp, Object value, Boolean ignoreCase)
You can try it against NorthwindIB Product table. It has some nullable smallint types:
var p = new PredicateDescription(typeof(Product), "UnitsInStock", FilterOperator.InList, new[] {1,2});
This works fine against a non-nullable db column and as I said, works on nullable strings.