-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Closed as not planned
Labels
Description
Hello,
I want create a support for operator ^ (ExclusiveOr). I will map it to Firebird builtin function BIN_XOR.
But SqlBinaryExpression does not support it:
| private static readonly ISet<ExpressionType> _allowedOperators = new HashSet<ExpressionType> | |
| { | |
| ExpressionType.Add, | |
| ExpressionType.Subtract, | |
| ExpressionType.Multiply, | |
| ExpressionType.Divide, | |
| ExpressionType.Modulo, | |
| //ExpressionType.Power, | |
| ExpressionType.And, | |
| ExpressionType.AndAlso, | |
| ExpressionType.Or, | |
| ExpressionType.OrElse, | |
| ExpressionType.LessThan, | |
| ExpressionType.LessThanOrEqual, | |
| ExpressionType.GreaterThan, | |
| ExpressionType.GreaterThanOrEqual, | |
| ExpressionType.Equal, | |
| ExpressionType.NotEqual, | |
| //ExpressionType.ExclusiveOr, | |
| //ExpressionType.ArrayIndex, | |
| //ExpressionType.RightShift, | |
| //ExpressionType.LeftShift, | |
| }; |
Same problem, as I understand, with operators << and >>.
From other side, EFCore supports '&' and '|' :(
I think, I can map these operators (^, >>, <<) to SqlFunctionExpression nodes.
But this variant looks very ugly.
Your ideas?