使用函数导入进行延迟加载

时间:2012-08-14 11:24:01

标签: .net sql-server entity-framework entity-framework-4 lazy-loading

我有一个函数导入,它返回一个类型为Package的数据集,它有一个名为PackageRoles的属性,是对PackageRole个对象列表的外键引用。

当我像这样调用我的函数导入时......

List<Package> orders = db.GetTopOrders();

我收到了我的列表,但尚未填充PackageRoles属性。

有没有一种方法可以使用Include()进行填充?我需要能够获得这些而不想在理想情况下迭代Packages

1 个答案:

答案 0 :(得分:2)

我找不到办法,所以我已经解决了这个问题。将结果枚举到List&lt;&gt;中然后遍历列表,使用ObjectContext上的LoadProperty加载所需的属性。

List<Package> orders = db.GetTopOrders().ToList();

foreach (var order in orders)
{
    db.LoadProperty<Package>(order, o => o.PackageRoles);
}