Используя AsNoTracking, как проверить загруженные свойства навигации на ноль? - PullRequest
0 голосов
/ 12 ноября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...