Если вы можете немного изменить перечисление и хранимую процедуру, вы можете сделать следующее:
Изменить перечисление, чтобы добавить однобуквенный код к каждому перечислению -
public enum MarkUpCalculationType
{
Percentage = 'P',
Fixed = 'F'
}
Сейчас, поскольку перечисления не могут быть напечатаны как символы, "P" и "F" фактически представлены их кодами ASCII (80 и 70 соответственно).Вы также можете написать это так -
public enum MarkUpCalculationType
{
Percentage = 80,
Fixed = 70
}
Хотя использование фактических значений символов облегчает чтение кода, а связь между значениями перечисления и значениями базы данных становится более ясной.
Теперь, если выизмените вашу хранимую процедуру так, чтобы она возвращала ASCII-код персонажа. Dapper должен уметь правильно анализировать ваше перечисление -
SELECT
ASCII(MV.MarkUpType) AS MarkUpCalculationType,
-- Other selected values
FROM
dbo.MarkUp M
-- some joins