У меня есть общий репозиторий, и когда я использую метод DoQuery для выбора объектов из базы данных, мне нужно загрузить некоторые связанные сущности, чтобы не получить нулевые значения вместо полей, являющихся внешними ключами.
Проблема в том, что репозиторий является общим, поэтому я не знаю, сколько свойств нужно загрузить или каковы их имена (если нет способа получить их), как я могу сделать так, чтобы все внешние ключи имели свои объекты, загруженные с сохранением общего хранилища?
Вот метод DoQuery:
public ObjectQuery<E> DoQuery(ISpecification<E> where)
{
ObjectQuery<E> query = (ObjectQuery<E>)_ctx.CreateQuery<E>("[" + typeof(E).Name + "]").Where(where.EvalPredicate);
return query;
}
И ссылка на исходный код для всего хранилища.
Я опубликовал это однажды и так и не получил ответа, но я думаю, что это немного более актуально, так как раньше люди предполагали, что я знаю имена свойств и могу сделать:
.Include("PropertyNameIKnowNeedsToBeLoaded")
Вот вопрос, который я отправил до , надеюсь, он даст немного информации о том, где я нахожусь с этим.
Любая помощь приветствуется.
Спасибо,
Matt