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
Vous devez vous connecter pour publier un commentaire.
Voici une explication de ce qui se passe, avec une solution de contournement.
Dans votre cas, cependant, je pense qu'il y a un mieux solution de contournement que ce qui est dans cet article lié. Vous êtes déjà à l'aide d'un modèle de vue pour
Network
. Que c'est bon! Le faire pour les contacter (et c'est lié propriétés), trop, et vos problèmes avec le chargement impatient de magie disparaître. Projection toujours œuvres.OriginalL'auteur Craig Stuntz