Я использовал DiscriminateSubClassesOnColumn в родительском классе.Однако неуниверсальная версия по умолчанию является строкой, несмотря на то, что подклассы указывают, что они хотят целочисленные значения, и, следовательно, строка имени типа сохранялась.
Я нашел универсальную версию DiscriminateSubClassesOnColumn, и как только вы ее используете, она работаетштраф и забирает целочисленные значения для столбца дискриминатора.
DiscriminateSubClassesOnColumn ("ProductType", (int) 0);
Я думаю, это могло бы помочь, если бы механизм отображения выдавал ошибку междутот факт, что у родительского класса есть сопоставление строк, а дочерний класс пытается отправить значение типа int, но несоответствие просто игнорируется.