46 lines
1.5 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|