Si je choisis à partir d'un IQueryable puis l'include est perdu

L'include ne fonctionne pas après que j'ai effectuer une sélection sur le IQueryable requête.
Est-il un chemin autour de cela? Ma requête est

public IQueryable<Network> GetAllNetworks()
{
    var query = (from n in _db.NetworkSet
                .Include("NetworkContacts.Contact")
                .Include("NetworkContacts.Contact.RelationshipSource.Target")
                .Include("NetworkContacts.Contact.RelationshipSource.Source")
                 select (n));        
    return query;;
}

J'ai ensuite essayer de peupler mya ViewModel dans mon WebUI couche en utilisant le code suivant

            var projectedNetworks =
            from n in GetAllNetworks()
            select new NetworkViewModel
            {
                Name = n.Name,
                Contacts = from contact in networkList
                    .SelectMany(nc => nc.NetworkContacts)
                    .Where(nc => nc.Member == true)
                    .Where(nc => nc.NetworkId == n.ID)
                    .Select(c => c.Contact)                        
                    select contact,
            };

        return projectedNetworks;

Le problème se produit maintenant dans mes nouvellement créé NetworkViewModel
Les Contacts des objets de collection ne comprennent pas les données chargées pour RelationshipSource.Cible ou RelationshipSource.Source

Cependant, les données est-il lorsqu'il est exécuté à partir de l'original Référentiel IQueryable méthode. Toutefois, la relative inclure des données ne semble pas transférés dans les nouveaux Contacts de la collection qui est créé lorsque j'utilise le Sélectionner de Nouveaux NetworkViewModel {} le code ci-dessus.

Est-il un moyen de préserver cette Inclure des données lorsqu'il est transmis dans un nouvel objet? À l'instant, je reçois NULL exceptions

OriginalL'auteur Connor Murphy | 2010-05-27