The include does not work after I perform a select on the IQueryable query. Is there a way arround this? My query is
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;;
}
I then try to populate mya ViewModel in my WebUI layer using the following 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;
The problem now occurs in my newly created NetworkViewModel The Contacts collection objects do not include any loaded data for RelationshipSource.Target or RelationshipSource.Source
However the data is there when run from the original Repository IQueryable method. However the related include data does not seem to get transferred into the new Contacts collection that is created when I use the Select New NetworkViewModel {} code above.
Is there a way to preserve this Include data when it gets passed into a new object? At the moment I just keep getting NULL exceptions