Я реализовал код первых дб архитектуры с простым наследованием с помощью ТНР: Использования EF Включить на ТРНЕ
И мне нужно запросить все уведомления о всех типах. TargetUser
Недвижимость в NotificationUser
стол - это ассоциация. Я пытаюсь выполнить следующий код:
var notifications = _context.Notifications;
foreach (var notification in notifications)
{
Debug.WriteLine((notification is NotificationUser)? ((NotificationUser) notification).TargetUser?.Name : "-");
}
В propety базы данных TargetUser
устанавливаются для коррекции внешнего ключа, но в коде я не получаю никакого результата. Ложная загрузка включена.
Можно ли загружать пользователей? Я уже пытался написать _context.Notifications.Include('TargetUser')
byt, и это исключает.
Обновление. Исключение составляют:
A specified Include path is not valid. The EntityType 'Core.Concrete.NotificationBase' does not declare a navigation property with the name 'TargetUser'.
Пытался изменить this answer к:
var notifications = _context.Notifications.OfType<NotificationUser>()
.Include(n => n.TargetUser)
.Cast<NotificationBase>()
.Union(_context.Notifications.OfType<NotificationPlace>()
, но все тот же исключение.
Не работает context.Notifications.Include («TargetUser») Похоже, что есть некоторые общие ошибки. Вы сказали, что есть исключение? Могу я увидеть это? –
@AlexanderHaas, попытался выполнить код с включением снова и свойство было загружено правильно. Похоже, у меня была некоторая грамматическая ошибка. Спасибо, в любом случае! – Ivvan
@AlexanderHaas, ладно, он не работает. Я не заметил .OfType() в моем запросе. Без него это исключение. Обновленный вопрос с сообщением. –
Ivvan