//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //------------------------------------------------------------------------------ using System.Diagnostics; using System.Data.Objects; namespace System.Data.Common.QueryCache { internal class ShaperFactoryQueryCacheKey : QueryCacheKey { private readonly string _columnMapKey; private readonly MergeOption _mergeOption; private readonly bool _isValueLayer; internal ShaperFactoryQueryCacheKey(string columnMapKey, MergeOption mergeOption, bool isValueLayer) { Debug.Assert(null != columnMapKey, "null columnMapKey"); _columnMapKey = columnMapKey; _mergeOption = mergeOption; _isValueLayer = isValueLayer; } public override bool Equals(object obj) { var other = obj as ShaperFactoryQueryCacheKey; if (null == other) { return false; } return this._columnMapKey.Equals(other._columnMapKey, _stringComparison) && this._mergeOption == other._mergeOption && this._isValueLayer == other._isValueLayer; } public override int GetHashCode() { return _columnMapKey.GetHashCode(); } } }