0

我想使用急切加载加载相关实体,我看到了这个页面

在此示例中,我可以看到有两种获取相关实体的方法:

var princesses1 = context.Princesses
                          .Include(p => p.Unicorns)
                          .ToList();


var princesses1 = context.Princesses
                          .Include("Unicorns")
                          .ToList();

第一种方法是使用 lambda 表达式(我认为正确的名称是,如果不是,请纠正我),第二种方法是使用带有相关实体名称的字符串。

就我而言,我可以使用第二种方式,因为在第一种方式中,当我无法在 lambda 表达式中获取相关实体的属性时。我使用这段代码:

IQueryable<Customers> myQuery;
myQuery = myContext.Customers.Include("Orders");

但是如果我尝试使用第二种方式:

IQueryable<Customers> myQuery;
myQuery = myContext.Customers.Include(c=>c.?????);

我无法选择 Orders 属性。

为什么?

4

2 回答 2

2

System.Data.Entity为了能够在方法中使用 lambda 表达式,您应该使用Include

using System.Data.Entity;
于 2013-07-31T15:33:48.977 回答
1

将此添加到文件的顶部:

using System.Data.Entity;

这包括对提供包含扩展方法的 DbExtensions 类的引用。

于 2013-07-31T15:33:54.963 回答