2013-07-11 15 views
22

tôi có phương pháp Repository sau: -Các Bao gồm biểu thức đường dẫn phải đề cập đến một bất động sản chuyển hướng định nghĩa vào loại

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

Các phương pháp hành động sau đó gọi phương thức trên: -

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

nhưng khi tôi điều hướng đến Phương thức hành động, tôi nhận được lỗi sau trên lớp lưu trữ: -

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.

Vì vậy, những gì là sai với mã của tôi?

Trả lời

29

Tôi nghĩ bạn có thể muốn làm một cái gì đó giống như

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

nhờ trả lời, nhưng SDOrganization không có .Chọn. Và nếu tôi viết mã của bạn tôi sẽ nhận được lỗi sau: - "" Lỗi 'TMS.Models.SDOrganization' không chứa định nghĩa cho 'Chọn' và không có phương pháp mở rộng 'Chọn' chấp nhận đối số đầu tiên của loại ' TMS.Models.SDOrganization 'có thể được tìm thấy (bạn đang thiếu một chỉ thị bằng cách sử dụng hoặc một tham chiếu lắp ráp? "" –

+7

Tôi thấy, sau đó vấn đề có lẽ là SelectMany, thay đổi SelectMany để Chọn thay thế. –

+1

tôi đã bị mắc kẹt trên một số vấn đề khác nhưng ur câu trả lời đã chỉ cho tôi đúng hướng –

Các vấn đề liên quan