//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @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;
}
///
/// Determines equality of this key with respect to
///
///
///
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);
}
///
/// Returns the hashcode for this cache key
///
///
public override int GetHashCode()
{
return _cacheIdentity.GetHashCode();
}
///
/// Returns a string representation of the state of this cache key
///
///
/// A string representation that includes query text, parameter information, include path information
/// and merge option information about this cache key.
///
public override string ToString()
{
return _cacheIdentity.ToString();
}
}
}