|
//------------------------------------------------------------------------------
// <copyright file="CompiledQueryCacheKey.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//
// @owner Microsoft
// @backupOwner Microsoft
//------------------------------------------------------------------------------
namespace System.Data.Common.QueryCache
{
using System;
using System.Diagnostics;
internal sealed class CompiledQueryCacheKey : QueryCacheKey
{
private readonly Guid _cacheIdentity;
internal CompiledQueryCacheKey(Guid cacheIdentity)
{
_cacheIdentity = cacheIdentity;
}
/// <summary>
/// Determines equality of this key with respect to <paramref name="compareTo"/>
/// </summary>
/// <param name="otherObject"></param>
/// <returns></returns>
public override bool Equals(object compareTo)
{
Debug.Assert(compareTo != null, "Comparison key should not be null");
if (typeof(CompiledQueryCacheKey) != compareTo.GetType())
{
return false;
}
return ((CompiledQueryCacheKey)compareTo)._cacheIdentity.Equals(this._cacheIdentity);
}
/// <summary>
/// Returns the hashcode for this cache key
/// </summary>
/// <returns></returns>
public override int GetHashCode()
{
return _cacheIdentity.GetHashCode();
}
/// <summary>
/// Returns a string representation of the state of this cache key
/// </summary>
/// <returns>
/// A string representation that includes query text, parameter information, include path information
/// and merge option information about this cache key.
/// </returns>
public override string ToString()
{
return _cacheIdentity.ToString();
}
}
}
|