0

假设我有以下课程:

class Person
{
    public int Id { get; set; }
    public Address Address { get; set; }
}

class Address
{
    public int Id { get; set; }
    public Country Country { get; set; }
}

class Country
{
    public int Id { get; set; }
    public Name { get; set; }
}

现在使用存储库,我从数据库中加载了一个人,但我也想急切地加载它的Address属性和地址的Country属性。我使用以下代码加载即时导航属性。

context.Entry(person).Reference(p => p.Address).Load();

现在我的问题是如何加载Country加载属性的导航Address属性。谁可以帮我这个事?非常感谢。

4

1 回答 1

0

获取参考查询,然后调用 include(但您必须枚举,例如.ToArray(),因为没有Load()方法可以调用 - 不用担心,EF 将连接原始实体的 nav 属性):

var navPropQuery = context.Entry(person).Reference(p => p.Address).Query()
    as System.Data.Objects.ObjectQuery<Address>;

navPropQuery.Include( "Country" ).ToArray();
于 2013-11-09T05:59:10.567 回答