实体框架 - 导航属性无法加载

5
我有以下的关系: enter image description here
public partial class SharedResource : DomainEntity
{
    public System.Guid Id { get; set; }
    public System.Guid VersionId { get; set; }

    public virtual PackageVersion PackageVersion { get; set; } // tried it noth with and without virtual
}

现在,我使用以下方式加载SharedResource:
SharedResource sharedResource = Get(shareKey)

And

sharedResource.PackageVersion == null. 

虽然VersionId不为空且
context.Configuration.LazyLoadingEnabled = false;

我需要怎么做才能加载它?

1个回答

6

LazyLoadingEnabled必须为true,而不是false

context.Configuration.LazyLoadingEnabled = true;

如果您没有设置LazyLoadingEnabled,则默认为true

PackageVersion属性必须是virtual才能启用此属性的延迟加载。

或者您可以直接在查询中包含该属性:

SharedResource sharedResource = context.SharedResource
    .Include("PackageVersion")
    .SingleOrDefault(s => s.Id == shareKey);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接