#entity-framework-6 #mapping #tph
#entity-framework-6 #сопоставление #tph
Вопрос:
ObjectContext.Translate<T>
не обрабатывает типы TPH для T
. Есть ли способ легко прочитать типы TPH из sproc в EF6? Предположим, что вся запись таблицы (вместе со столбцом дискриминатора) прочитана, с добавлением или изменением чего-то вроде «select *» для удобства обслуживания в столбцах.
Я действительно пытаюсь избежать создания пользовательского монолитного типа, который имеет все свойства в таблице для чтения записи, а затем включить дискриминатор, чтобы вручную создавать и сопоставлять подтипы вручную. Это кажется огромным упущением в методе Translate.
Например, даже в EF Core, похоже, предпринимаются попытки воспроизвести метод Translate, но я не уверен, что реплицируемая логика обрабатывает типы TPH: https://github.com/aspnet/EntityFrameworkCore/issues/8127#issuecomment-330973013 Существует также реализация «Materialize»:https://github.com/aspnet/EntityFrameworkCore/issues/8127#issuecomment-440011796 Предполагая, что любой из них поддерживает TPH, я ищу аналогичную реализацию для EF6, чтобы заменить метод Translate.
Комментарии:
1. Можно ли это вообще сделать в EF Core, или у него еще хуже поддержка этой базовой функции сопоставления?
2. Может быть, я смогу переопределить материализатор.