使用AsNoTracking,如何检查急切加载的导航属性是否为null?

时间:2018-11-12 16:13:06

标签: c# entity-framework asp.net-core

使用ASP.NET Core 2.1,请考虑以下代码:

var customer = await db.Customers
                  .Include(x => x.Address)
                  .Where(x => x.CustomerId == user.CustomerId)
                  .AsNoTracking()
                  .FirstOrDefaultAsync();

当我尝试检查客户的地址是否为null时,

if (customer.Address != null)
{
    // do stuff
}

并且该客户的地址不存在,则出现以下错误:

  

InvalidOperationException:生成警告'Microsoft.EntityFrameworkCore.Infrastructure.DetachedLazyLoadingWarning错误:...

但是,如果地址存在(即 null),那么一切正常。

是否有适当的方法来检查是否找到了急切加载的导航属性,并且仍然使用AsNoTracking

0 个答案:

没有答案