Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The Include path expression must refer to a navigation property defined on the type

Tags:

I have the following Repository method:-

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

The the following action method which calls the above method:-

public ActionResult Details2(int id = 0) {     AccountDefinition cd = repository.GetCustomer2(id);     return View("copy",cd); } 

but when i navigate to the Action Method , i get the following error on the repository class:-

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.

So what is wrong with my code?

like image 729
john Gu Avatar asked Jul 11 '13 14:07

john Gu


1 Answers

I think you may want to do something like

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.Select(a5 => a5.DepartmentDefinitions.Select(a6 => a6.SDUsers.Select(a7 => a7.AaaUser))));              return c;         } 
like image 165
J.W. Avatar answered Sep 22 '22 09:09

J.W.