В linq to sql как мне включить дочернюю сущность в начальный запрос?

Я хотел бы иметь возможность включить дочернюю сущность с основной сущностью в мой запрос linq to sql.

Public Function GetEmployees() As IEnumerable(Of Employee)
    Dim dc As New MyDataContext()
    Return From e In dc.Employee
End Function

На моей странице ASPX я хочу отобразить отдел каждого сотрудника без необходимости возвращаться и запрашивать базу данных каждый раз, когда ему требуется имя отдела из сущности отдела для каждого сотрудника.

<asp:repeater...>
   ...
      <%# Eval("FirstName") %><br />
      <%# Eval("LastName") %><br />
      <%# Eval("Department.Name") %> <--- re-queries db every time on this line?
   ...
</asp:repeater>

если я изменю его, чтобы включить отдел, я получаю ошибку:

Public Function GetEmployees() As IEnumerable(Of Employee)
    Dim dc As New MyDataContext()
    Return From e In dc.Employee Select e, e.department
End Function


Unable to cast object of type 'System.Data.Linq.DataQuery`1[VB$AnonymousType_0`2[MyNameSpace.Employee,System.Data.Linq.EntitySet`1[MyNameSpace.Employee.Department]]]' to type 'System.Collections.Generic.IEnumerable`1[MyNameSpace.Employee]'.
6
задан RichC 25 April 2011 в 20:49
поделиться