Зачем использовать два разных значения, чтобы обозначать одно и то же? И зачем использовать значения, которые ничего не значат? Я бы исправил данные, а не пытался отобразить неверные данные:
update rapporto set discriminator = '4' where discriminator = '5';
update rapporto set discriminator = '0' where discriminator not in ('0,', '1', '2', '3', '4');
(при условии, что 0 - дискриминатор объекта по умолчанию, а 0, 1, 2, 3, 4 - допустимые значения дискриминатора).