У меня такой запрос:
var foundData = await DatabaseContext.Set<TableA>()
.AsNoTracking()
.Where(x => list.Contains(x.Code))
.Select(x => x.Code)
.ToListAsync()
.ConfigureAwait(false);
var notFoundData = await DatabaseContext.Set<TableA>()
.AsNoTracking()
.Where(x => !list.Contains(x.Code))
.Select(x => x.Code)
.ToListAsync()
.ConfigureAwait(false);
Поскольку этот запрос дважды попадает в базу данных, а также я не хочу получать все записи из базы данных и затем фильтровать. Возможно ли иметь List<tuple>
, который делает это в одном запросе, как
Предположим, база данных содержит:
A,B,C,D,E
В действительности база данных содержит миллионы записей. Так же как и список.
и список содержит A, B, F
Таким образом, найденный список будет содержать: A, B
И notFound будет содержать: F
Таким образом, ожидаемый результат будет var (found, notfound) =?