Итак, у меня есть классы, которые выглядят так:
public class User {
public virtual IList<Member> Members {get;set;}
}
public class Member {
public virtual AnotherTable Another {get;set;}
}
public class AnotherTable {
public string Name {get;set;}
}
Когда я выполняю запрос непосредственно к DataContext, включается включение, но когда я выполняю AsQueryable () для IList членов, включение не работает.
Есть ли способ использовать функциональность Include / Eager для отложенных загруженных свойств, таких как свойство Members выше, или мне всегда нужно пройти через DataContext, чтобы получить эту функцию?
User.Members.AsQueryable().Include(a => a.Another).ToList() // <-- nada, no way Jose
_db.Members.Include(m => m.Another).ToList() // <-- all good in the neighborhood
Я спрашиваю, потому что это может быть огромная разница в 1 sql запросе против 100 запросов на что-то эквивалентное.
Заранее спасибо.