Вот куча вещей, которые я пробовал ... надеюсь, вы можете экстраполировать из нее то, что я пытаюсь сделать, и что я делать неправильно. Хорошо, таким образом у меня возникли проблемы с загрузкой связанных лиц при использовании этого DoQuery:Проблемы, связанные с загрузкой связанных объектов (Eager Load) с ObjectContext.CreateQuery (Entity Framework и репозитории)
public ObjectQuery<E> DoQuery(ISpecification<E> where)
{
return (ObjectQuery<E>)_ctx.CreateQuery<E>("[" + typeof(E).Name + "]").Where(where.EvalPredicate);
}
Если я просто использовать это, я в конечном итоге получить объект обратно, который содержит все соответствующие параметры, за исключением тех, которые связаны объекты .. т. е. если это идентификатор пользователя, который ссылается на таблицу User, я также не возвращаю объект User.
Я дочитал, что вы можете сделать .INCLUDE («User»), чтобы сделать нетерпеливые нагрузки хозяйствующего субъекта ... но она не работает, когда я пытаюсь это:
public ObjectQuery<E> DoQuery(ISpecification<E> where)
{
return (ObjectQuery<E>)_ctx.CreateQuery<E>("[" + typeof(E).Name + "]").Include("User").Where(where.EvalPredicate);
}
Я также , чтобы убедиться, что имя и название набора объектов - это «Пользователь», которым они являются. Единственное, что я мог придумать, это добавить несколько вещей в ("[" + typeof(E).Name + "]")
, но я не уверен, как включить в него несколько объектов ... Вот что я пробовал, так как увидел, что кто-то сказал, что вы можете загрузить несколько, поставив a. между.
public ObjectQuery<E> DoQuery(ISpecification<E> where)
{
return (ObjectQuery<E>)_ctx.CreateQuery<E>("[" + typeof(E).Name + "].[User]").Where(where.EvalPredicate);
}
Но это не сработало ...
Если я не на правильном пути, пожалуйста, дайте мне знать. Кто-нибудь знает, как загрузить связанные объекты при использовании ObjectContext.CreateQuery? Любые предложения или понимание помогают.
Спасибо,
Matt
Я до сих пор не получаю возвращаемые пользователем объекты ... Я поместил разрывы на эти строки и проверил, что там введены правильные имена сущностей. – Matt
Если вы развернете «Результат результатов» запроса в визуализаторе отладки, у вас есть свойство «Пользователи». Когда вы расширяете это, вы получаете количество пользователей? –
Нет, это просто говорит null – Matt