Wenn ich wählen Sie aus einer IQueryable dann die Enthalten ist, ist verloren

Den include funktioniert nicht, nachdem ich eine wählen Sie auf der IQueryable Abfrage.
Gibt es eine Möglichkeit, um dieses? Meine Abfrage ist

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;;
}

Ich versuche dann zu füllen mein ViewModel in meiner WebUI-Ebene mit dem folgenden code

            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;

Das problem tritt jetzt in meinem neu erstellten NetworkViewModel;
die Contacts collection-Objekte enthalten keine geladenen Daten für RelationshipSource.Target oder RelationshipSource.Source.

Aber die Daten gibt es beim starten von der original-Repository IQueryable Methode. Jedoch ist der Zusammenhang include Daten nicht scheinen, um übertragen zu bekommen in der neuen Contacts Sammlung, die erstellt wird, wenn ich den Select New NetworkViewModel {}.

Gibt es eine Möglichkeit zu erhalten Include Daten, wenn es übergeben bekommt, in ein neues Objekt? Im moment habe ich einfach immer Null Ausnahmen

Schreibe einen Kommentar