EF Core 7,如何检查导航属性是否加载?

问题描述 投票:0回答:1

我有 EF Core 7 POCO 课程。示例:

public class A
{
    ... obmited unrelated codes

    public long CustomerID { get; set; }
    public virtual Customer MyCustomer { get; set; }
}

MyCustomer
属性偶尔会延迟加载。如果已加载,我将显示客户的详细信息。如果没有,就忽略吧。

我的问题是,如何在不出现

LazyLoadOnDisposedContextWarning
的情况下检查该值是否已加载?当我收到这个物体时,
DbContext
早已消失。

c# entity-framework-core lazy-loading
1个回答
0
投票

https://learn.microsoft.com/en-us/ef/core/change-tracking/entity-entries#working-with-a-single-navigation

NavigationEntry.IsLoaded 是您理想中想要的,但只有当您仍然拥有 DbContext 时它才有效。否则,您必须完全禁用警告

如果你处于需要做这种事情的情况,我首先会重新考虑导致你遇到这个问题的设计是否正确。

© www.soinside.com 2019 - 2024. All rights reserved.