.Include () влияет на количество результатов запроса - PullRequest
0 голосов
/ 19 апреля 2019

У меня очень простой запрос, который возвращает Order, но когда я выполняю один и тот же запрос со многими Includes и ThenInclude, тогда запрос возвращает 0 результатов вместо 1

var a = _context
        .Orders
        .FirstOrDefault(x => x.Id == OrderId);

var b = _context
        .Orders
        .OrdersFullInclude()
        .FirstOrDefault(x => x.Id == OrderId);

Где OrdersFullInclude() =

public static IQueryable<Order> OrdersFullInclude(this IQueryable<Order> input)
{
    return  input
           .Include(x => x.StatusesHistory)
           .Include(x => x.File)
           .Include(x => x.SomeData)
           .ThenInclude(x => x.SomeDeeperLevel)
           .Include(x => x.Company)
           .Include(x => x.Customer)
           .Include(x => x.Insurance)
           .ThenInclude(x => x.InsuranceSomething); 
}

Почему?

1 Ответ

1 голос
/ 19 апреля 2019

Вызывая Include, вы объединяете свой результат с некоторыми другими таблицами, и, по-видимому, не все объединенные таблицы имеют связанную запись с записью в первом наборе результатов, поэтому он не возвращает результата.

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