Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

46 lines
1.5 KiB
C#

//------------------------------------------------------------------------------
// <copyright file="ShaperFactoryQueryCacheKey.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//
// @owner [....]
// @backupOwner [....]
//------------------------------------------------------------------------------
using System.Diagnostics;
using System.Data.Objects;
namespace System.Data.Common.QueryCache
{
internal class ShaperFactoryQueryCacheKey<T> : 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<T>;
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();
}
}
}