3

我通过以下方式获得实体列表:

var riscregions = db.RiscEntranceDetails.OrderBy(r => r.RiscEntranceID).Include(r => r.RiscEntrance).Include(r => r.RiscRegion);

但是,我需要达到更深入相关的实体属性,例如:

<td>@item.RiscEntrance.ID</td>
<td>@item.RiscEntrance.Personnel.Name</td>
<td>@item.RiscEntrance.EntranceDateTime</td>
<td>@item.RiscEntrance.ShiftWork.ShiftGroup.TextID</td>

我怎样才能达到那些?非常感谢任何建议,包括 linq 或其他一些解决方法,例如扩展和帮助程序。

4

2 回答 2

2

你可以这样做:

var riscregions = db.RiscEntranceDetails
                .OrderBy(r => r.RiscEntranceID)
                .Include(r => r.RiscEntrance)
                .Include(r => r.RiscEntrance.Personnel)
                .Include(r => r.RiscEntrance.ShiftWork.ShiftGroup)

仅当您需要选择集合的子项时,才需要Select在表达式中使用。Include

于 2013-01-19T23:51:35.193 回答
1

http://msdn.microsoft.com/en-us/data/jj574232.aspx

请参阅急切地加载多个级别。您可以.Select()在您的.Include()lambda 中使用。

于 2013-01-19T23:40:45.893 回答