Ho il seguente metodo Repository: -La Calcola espressione percorso deve fare riferimento a una proprietà di navigazione definita dal tipo
public AccountDefinition GetCustomer2(int id)
{
var c = entities.AccountDefinitions
.Where(p=>p.ORG_ID==id)
.Include(a => a.SDOrganization)
.Include(a2 => a2.SiteDefinitions)
.Include(a3 => a3.SDOrganization.AaaPostalAddresses)
.Include(a4 => a4.SiteDefinitions.SelectMany
(a5 => a5.DepartmentDefinitions.SelectMany
(a6 => a6.SDUsers.Select
(a7 => a7.AaaUser))))
.SingleOrDefault();
return c;
}
Il seguente metodo di azione che chiama il metodo di cui sopra: -
public ActionResult Details2(int id = 0)
{
AccountDefinition cd = repository.GetCustomer2(id);
return View("copy",cd);
}
ma quando ci si dirige verso il metodo d'azione, ottengo il seguente errore sul classe repository: -
The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties.
Quindi cosa c'è di sbagliato nel mio codice?
grazie per la risposta, ma la SDOrganization non avere un .Selezionare. E se scrivo il tuo codice avrò il seguente errore: - "" Errore 'TMS.Models.SDOrganization' non contiene una definizione per 'Seleziona' e nessun metodo di estensione 'Seleziona' accetta un primo argomento di tipo ' TMS.Models.SDOrganization 'potrebbe essere trovato (ti manca una direttiva using o un riferimento di assembly? "" –
Vedo, quindi il problema è probabilmente SelectMany, cambia SelectMany a Select invece. –
Sono rimasto bloccato su qualche altro problema ma ur risposta mi ha indirizzato nella giusta direzione –