Можно сделать это с кодом T-SQL с помощью таблиц INFORMATION_SCHEMA.
существуют также сторонние программы - мне нравится Вершина Сценарий SQL за точно использование, о котором Вы говорите. Я выполняю его полностью от командной строки.
var xValues = Enum.GetValues(x);
var yValues = Enum.GetValues(y);
for (int i = 0; i < xValues.Length; i++)
{
Assert.AreEqual((int)xValues.GetValue(i), (int)yValues.GetValue(i));
}
Я бы перевернул то, как вы проверили. Легче получить имя из значения, чем значение из имени. Перебирайте значения и одновременно проверяйте имена.
public static class EnumAssert
{
public static void AreEquivalent(Type x, Type y)
{
// Enum.GetNames and Enum.GetValues return arrays sorted by value.
var xValues = Enum.GetValues(x);
var yValues = Enum.GetValues(y);
Assert.AreEqual(xValues.Length, yValues.Length);
for (int i = 0; i < xValues.Length; i++)
{
var xValue = xValues.GetValue( i );
var yValue = yValues.GetValue( i );
Assert.AreEqual(xValue, yValue);
Assert.AreEqual( Enum.GetName( x, xValue ), Enum.GetName( y, yValue ) );
}
}
}