Используя 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
?