Я думаю, что я использую наследование TPT. У меня есть абстрактный родительский класс и три подкласса. То, что я хочу, это базовая функция поиска, но мне нужно явно сделать, включает в себя. Моя проблема в том, как я могу включить различные свойства в зависимости от типа.
public List<RandomObject> FindAll(int someProperty)
{
using (MyContext db = new MyContext())
{
var randomObjects = db.RandomObjects.Where(x => x.SomeProperty == someProperty);
}
}
Каждый экземпляр RandomObject имеет коллекцию абстрактного суперкласса. Существует фиксированное количество известных подклассов (мы можем называть их SubclassA и SubclassB, если людям нужны имена).
Я пробовал различные операторы типа «Включить», например,
randomObjects = randomObjects.Include(x => x.Superclasses.OfType<SubclassA>().SubclassAOnlyProperty);
Если понадобится какое-либо разъяснение, просто дайте мне знать, я бы обязательно заполнил этот пост всеми видами вещей, которые я пробовал.