Этот был головокружительным для меня. Все еще новичок в некоторых вещах и EFCore, но я думаю, что у меня все хорошо. Я хочу знать, что, возможно, могло измениться.
Я создал конечную точку, которая получает определенное число c списка предложений, он работал с самого начала (Do tNet Core 2.2), но после обновления до 3.1 он, кажется, не работает правильно.
Я знаю, что сделал это странным образом, я нашел это в качестве решения где-то еще и попробовал, но выслушал меня. У меня есть сделка, у которой есть подкатегория (которая имеет идентификатор, имя и т. Д. c ...), затем в подкатегории у меня есть категория (которая имеет идентификатор, имя и т. Д. c .. .).
Чтобы получить мой конкретный список c сделок, я назвал это в конечной точке:
List<Deal> deals = new List<Deal>();
using (var context = new DbContext())
{
deals = await context.Deals
Where(x => x.ApplicationUserId == user.Id)
.Skip(skip)
.Take(take)
.Include(x => x.SubCategory)
.ThenInclude(x => x.Category)
.ToListAsync();
}
Есть некоторые другие вещи, но они все еще работают без проблем. это делается так же.
Теперь вот в чем проблема. Скажем, у меня есть 20 сделок, я загружаю эти сделки, 5 из них не могут получить категорию. Независимо от того, сколько раз я загружаю конечную точку, она возвращает категорию «ноль» для тех же 5.
Даже более странно, скажем, я загружаю сделку, теперь у меня 21 сделка, теперь кажется другой набор сделок вернуть категорию NULL, а не ту же 5 из ранее. Это похоже на случайность только тогда, когда последовательность сделок каким-то образом была изменена, поэтому сделки, которые ранее имели нулевую категорию, теперь возвращают категорию назад, а случайный набор из числа сделок возвращает категорию ноль, пока новая сделка не станет добавлен или один удален.
У меня есть исправление для этого с точки зрения принятия решения использовать Linq Query вместо использования этого, и это работает без сбоев, но я хочу знать, что может быть причиной этого странная проблема.
К вашему сведению ... Я получаю 0 ошибок, когда это происходит, просто нулевые категории.