я должен обновлять и изменять Дискриминатор (_ диск _) поле таблицы, а отображенные объекты не имеют его как лицо участник. любое решение?Как я могу изменить дискриминатор поле (__Disc__) в то время как он используется в качестве условия
Как я могу изменить дискриминатор поле (__Disc__) в то время как он используется в качестве условия
ответ
Столбец дискриминатора используется для определения типа объекта в наследовании TPH и EF не может его изменить - никогда. Это похоже на наследование на любом объектно-ориентированном языке - как только вы определяете объект какого-либо типа, вы не можете сделать его другим типом - вы можете только передать его родительскому, но он все равно будет экземпляром исходного типа. Единственный способ изменить его на другой тип - создать новый экземпляр нового типа и как-то скопировать значения из первого объекта в новый.
Так что если вам нужно изменить дискриминатор, вы должны сделать это без EF =, используя старый ADO.NET и SQL, но если ваше изменение не будет следовать другим правилам в вашей модели сущности, вы нарушите функциональность EF, и ваше приложение не будет работать ,