예제 #1
0
 // equality support currently needed for remote context to avoid incorrect use of cached dependent types
 // with different flags
 // https://github.com/linq2db/linq2db/issues/1445
 public override int GetHashCode()
 {
     return(IsSybaseBuggyGroupBy.GetHashCode()
            ^ IsParameterOrderDependent.GetHashCode()
            ^ AcceptsTakeAsParameter.GetHashCode()
            ^ AcceptsTakeAsParameterIfSkip.GetHashCode()
            ^ IsTakeSupported.GetHashCode()
            ^ IsSkipSupported.GetHashCode()
            ^ IsSkipSupportedIfTake.GetHashCode()
            ^ IsSubQueryTakeSupported.GetHashCode()
            ^ IsSubQueryColumnSupported.GetHashCode()
            ^ IsSubQueryOrderBySupported.GetHashCode()
            ^ IsCountSubQuerySupported.GetHashCode()
            ^ IsIdentityParameterRequired.GetHashCode()
            ^ IsApplyJoinSupported.GetHashCode()
            ^ IsInsertOrUpdateSupported.GetHashCode()
            ^ CanCombineParameters.GetHashCode()
            ^ IsGroupByExpressionSupported.GetHashCode()
            ^ MaxInListValuesCount.GetHashCode()
            ^ IsUpdateSetTableAliasSupported.GetHashCode()
            ^ (TakeHintsSupported?                         .GetHashCode() ?? 0)
            ^ IsCrossJoinSupported.GetHashCode()
            ^ IsInnerJoinAsCrossSupported.GetHashCode()
            ^ IsCommonTableExpressionsSupported.GetHashCode()
            ^ IsDistinctOrderBySupported.GetHashCode()
            ^ IsOrderByAggregateFunctionsSupported.GetHashCode()
            ^ IsAllSetOperationsSupported.GetHashCode()
            ^ IsDistinctSetOperationsSupported.GetHashCode()
            ^ IsCountDistinctSupported.GetHashCode()
            ^ IsUpdateFromSupported.GetHashCode()
            ^ CustomFlags.Aggregate(0, (hash, flag) => flag.GetHashCode() ^ hash));
 }
예제 #2
0
 // equality support currently needed for remote context to avoid incorrect use of cached dependent types
 // with different flags
 // https://github.com/linq2db/linq2db/issues/1445
 public override int GetHashCode()
 {
     return(IsSybaseBuggyGroupBy.GetHashCode()
            ^ IsParameterOrderDependent.GetHashCode()
            ^ AcceptsTakeAsParameter.GetHashCode()
            ^ AcceptsTakeAsParameterIfSkip.GetHashCode()
            ^ IsTakeSupported.GetHashCode()
            ^ IsSkipSupported.GetHashCode()
            ^ IsSkipSupportedIfTake.GetHashCode()
            ^ IsSubQueryTakeSupported.GetHashCode()
            ^ IsSubQueryColumnSupported.GetHashCode()
            ^ IsSubQueryOrderBySupported.GetHashCode()
            ^ IsCountSubQuerySupported.GetHashCode()
            ^ IsIdentityParameterRequired.GetHashCode()
            ^ IsApplyJoinSupported.GetHashCode()
            ^ IsInsertOrUpdateSupported.GetHashCode()
            ^ CanCombineParameters.GetHashCode()
            ^ MaxInListValuesCount.GetHashCode()
            ^ IsUpdateSetTableAliasSupported.GetHashCode()
            ^ (TakeHintsSupported?                         .GetHashCode() ?? 0)
            ^ IsGroupByColumnRequred.GetHashCode()
            ^ IsCrossJoinSupported.GetHashCode()
            ^ IsInnerJoinAsCrossSupported.GetHashCode()
            ^ IsCommonTableExpressionsSupported.GetHashCode()
            ^ IsDistinctOrderBySupported.GetHashCode()
            ^ IsOrderByAggregateFunctionsSupported.GetHashCode()
            ^ IsAllSetOperationsSupported.GetHashCode()
            ^ IsDistinctSetOperationsSupported.GetHashCode()
            ^ IsCountDistinctSupported.GetHashCode()
            ^ IsUpdateFromSupported.GetHashCode()
            ^ DefaultMultiQueryIsolationLevel.GetHashCode()
            ^ AcceptsOuterExpressionInAggregate.GetHashCode()
            ^ IsNamingQueryBlockSupported.GetHashCode()
            ^ RowConstructorSupport.GetHashCode()
            ^ OutputDeleteUseSpecialTable.GetHashCode()
            ^ OutputInsertUseSpecialTable.GetHashCode()
            ^ OutputUpdateUseSpecialTables.GetHashCode()
            ^ CustomFlags.Aggregate(0, (hash, flag) => flag.GetHashCode() ^ hash));
 }