A: 

Hey,

You can check if a type is nullable by doing: if (typeof(T).Equals(typeof(Nullable<>)) I believe and then proceed to handle that specially. If you can invoke the GetValueOrDefault() method somehow, that would work, or programmbly create the comparison value to be of the same type maybe.

HTH.

Brian
A: 

I had to convert the value type to the column type using Expression.Convert:

Expression where = Expression.GreaterThanOrEqual(column, Expression.Convert(Expression.Constant(value), column.Type));
Armagan