Если свойство (например, HireData) объявлено в производном типе, и вы используете TPH, вы обязательно должны пометить его как необнуляемое в EDM, несмотря на тот факт, что оно обнуляется в базе данных.
На самом деле эта способность является одной из характеристик TPH .
...
Итак, я посмотрел на сообщение в блоге, о котором идет речь, и заметил, что у него есть проблема, поскольку он представляет столбец дискриминатора (PersonCategory
) как свойство базовой сущности, которая, если позволено, делает изменяемой тип сущности так как вы можете легко сделать это:
student.PersonCategory = 2;
Что бы сделать ученика администратором! И это НЕ допускается EF.
Так что, если вы внимательно следите этому примеру, это может стать вашей проблемой.
Столбец, содержащий дискриминатор, не должен быть сопоставлен со свойством в EDM, он должен использоваться только в сопоставлении (т. Е. «Добавить условие» в разделе «Сопоставление с XXX» в окне сопоставления).
Решение проблемы в блоге: удалите свойство PersonCategory из класса Person.
В любом случае, я надеюсь, что это поможет
Alex