public override int GetHashCode() { if (ReferenceEquals(_query, _materializer)) { return(_query.GetHashCode()); } return(_query.GetHashCode() ^ _materializer.GetHashCode()); }
// Delegate to _simple for both GetHashCode and Equals. What matters for caching purposes // is that the underlying query structure is the same. What size/shape the QueryObject // that holds the query is, doesn't matter. public override int GetHashCode() => _simple.GetHashCode();