Ниже приведен раздел моей модели Entity Framework.Вы заметите, что у меня есть таблица «заголовков», которая связана со многими записями «AssetHolding», которые могут быть одного из 3 типов, для которых я использую наследование (TpH). Пожалуйста, игнорируйте тот факт, что все 3 унаследованных типа выглядят одинаково - это преднамеренно

При редактировании этих данных мне нужно получить один определенный заголовок по идентификаторуи все связанные AssetHoldings.Метод для этого выглядит следующим образом:
public AssetValuationHeader GetValuationHeaderById(int id)
{
return this.AssetValuationHeaders
.Include("AssetHoldings")
.Where(vh => vh.Id == id)
.FirstOrDefault();
}
Это правильно загружает все, что выделено красной рамкой на изображении выше.
Проблема, с которой я столкнулся, заключается в том, что я также необходимо загрузить бит, выделенный зеленой рамкой на изображении выше.Как вы можете видеть, это относится только к одной из 3 таблиц наследования.
Я пробовал это:
public AssetValuationHeader GetValuationHeaderById(int id)
{
return this.AssetValuationHeaders
.Include("AssetHoldings")
.Include("AssetHoldings.SwapAssetHoldingNotionals")
.Where(vh => vh.Id == id)
.FirstOrDefault();
}
Указанный путь включения недействителен.EntityType 'CoreValuationModel.AssetHolding' не объявляет свойство навигации с именем 'SwapAssetHoldingNotionals'.
Возможно ли это даже при использовании метода Include
?(т.е. без использования LazyLoading) Есть ли обходной путь, если нет?