|
using System;
namespace Aadhaar.Data.Entity.Components
{
/// <summary>
/// Serves as a base for entities based on tables having Id composed of two objects.
/// </summary>
[Serializable]
public class PairIdComponent
{
public const string Key1Property = "Key1";
public const string Key2Property = "Key2";
protected object _Key1;
protected object _Key2;
public PairIdComponent()
{
}
public PairIdComponent(object key1, object key2)
{
_Key1 = key1;
_Key2 = key2;
}
/// <summary>
/// Gets or sets first Id.
/// </summary>
public virtual object Key1
{
get { return _Key1; }
set { _Key1 = value; }
}
/// <summary>
/// Gets or sets second Id.
/// </summary>
public virtual object Key2
{
get { return _Key2; }
set { _Key2 = value; }
}
public override int GetHashCode()
{
return _Key1.GetHashCode() ^ _Key2.GetHashCode();
}
public override bool Equals(object obj)
{
if (this == obj) return true;
PairIdComponent pairIdComponent = obj as PairIdComponent;
if (pairIdComponent == null) return false;
if (!Equals(_Key1, pairIdComponent._Key1)) return false;
if (!Equals(_Key2, pairIdComponent._Key2)) return false;
return true;
}
public override string ToString()
{
return _Key2.ToString();
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I love programming, reading, and meditation. I like to explore management and productivity.