6
linq to sql 쿼리에 주 엔터티가있는 하위 엔터티를 포함 할 수 있기를 원합니다. 내 ASPX 페이지에서linq to sql에서 초기 쿼리와 함께 하위 엔티티를 어떻게 포함합니까?
Public Function GetEmployees() As IEnumerable(Of Employee)
Dim dc As New MyDataContext()
Return From e In dc.Employee
End Function
, 나는 그것을 돌아가서 데이터베이스에게이 각각 모든 직원의 부서 기업에서 부서 이름을 필요가있을 때마다 쿼리 할 필요없이 각 직원의 부서를 표시합니다. 나는 부서를 포함하도록 변경하면
<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]'.
우수 - 감사합니다! 따라서 매번 특정 쿼리에 추가 할 필요가 없습니다. 나는 datacontext에서 Employee를 질의 할 때 항상 관련된 Department 데이터를 포함해야한다고 명시한다. – EdenMachine
@EdenMachine - 네, 데이터 컨텍스트 범위에 있습니다 – BrokenGlass
대단히 감사합니다! – EdenMachine