@@ -344,6 +344,17 @@ void LocalSetFieldAlias(ref int localIndex, bool isdiymemexp)
344344 case ExpressionType . Equal :
345345 case ExpressionType . Not :
346346 initExpArg = Expression . Condition ( initExpArg , Expression . Constant ( true , typeof ( bool ) ) , Expression . Constant ( false , typeof ( bool ) ) ) ;
347+ switch ( _ado . DataType )
348+ {
349+ case DataType . PostgreSQL : //#2093
350+ case DataType . OdbcPostgreSQL :
351+ case DataType . CustomPostgreSQL :
352+ case DataType . KingbaseES :
353+ case DataType . ShenTong :
354+ case DataType . Xugu :
355+ initExpArg = Expression . Convert ( initExpArg , typeof ( bool ) ) ;
356+ break ;
357+ }
347358 break ;
348359 }
349360 var child = new ReadAnonymousTypeInfo
@@ -456,6 +467,17 @@ void LocalSetFieldAlias(ref int localIndex, bool isdiymemexp)
456467 case ExpressionType . Equal :
457468 case ExpressionType . Not :
458469 initExpArg = Expression . Condition ( initExpArg , Expression . Constant ( true , typeof ( bool ) ) , Expression . Constant ( false , typeof ( bool ) ) ) ;
470+ switch ( _ado . DataType )
471+ {
472+ case DataType . PostgreSQL : //#2093
473+ case DataType . OdbcPostgreSQL :
474+ case DataType . CustomPostgreSQL :
475+ case DataType . KingbaseES :
476+ case DataType . ShenTong :
477+ case DataType . Xugu :
478+ initExpArg = Expression . Convert ( initExpArg , typeof ( bool ) ) ;
479+ break ;
480+ }
459481 break ;
460482 }
461483 var child = new ReadAnonymousTypeInfo
@@ -507,6 +529,17 @@ void LocalSetFieldAlias(ref int localIndex, bool isdiymemexp)
507529 case ExpressionType . Equal :
508530 case ExpressionType . Not :
509531 initExpArg = Expression . Condition ( initExpArg , Expression . Constant ( true , typeof ( bool ) ) , Expression . Constant ( false , typeof ( bool ) ) ) ;
532+ switch ( _ado . DataType )
533+ {
534+ case DataType . PostgreSQL : //#2093
535+ case DataType . OdbcPostgreSQL :
536+ case DataType . CustomPostgreSQL :
537+ case DataType . KingbaseES :
538+ case DataType . ShenTong :
539+ case DataType . Xugu :
540+ initExpArg = Expression . Convert ( initExpArg , typeof ( bool ) ) ;
541+ break ;
542+ }
510543 break ;
511544 }
512545 var csname = newExp . Members != null ? newExp . Members [ a ] . Name : ( initExpArg as MemberExpression ) ? . Member . Name ;
0 commit comments