private static bool IsEqual(object value1, object value2)
{
if (value1 == null || value2 == null)
{
return value1 == null && value2 == null;
}
if (value1 is DBNull || value2 is DBNull)
{
return value1 is DBNull && value2 is DBNull;
}
if (value1.GetType() != value2.GetType())
{
return false;
}
return Utils.IsEqual(value1, value2);
}