gpt4 book ai didi

linq-to-sql - 在linq to sql中,如何在初始查询中包含子实体?

转载 作者:行者123 更新时间:2023-12-04 03:00:27 25 4
gpt4 key购买 nike

我希望能够在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]'.

最佳答案

对于LINQ to SQL,您可以更改 DataloadOptions (C#中的代码示例):

var dlo = new DataLoadOptions();
dlo.LoadWith<Employee>(p => p.department);
dc.LoadOptions = dlo;

(LINQ to Entities仅支持 Include())

关于linq-to-sql - 在linq to sql中,如何在初始查询中包含子实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5783109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com