В EF3 произошли серьезные изменения. Начиная с версии 3.0, EF Core позволяет оценивать только выражения в проекции верхнего уровня (последний вызов Select () в запросе) на клиенте. Если выражения в любой другой части запроса не могут быть преобразованы в SQL или в параметр, возникает исключение.
Чтобы оценить условие предиката на клиенте, попробуйте использовать приведенный ниже код с AsEnumerable()
var response = _db.MyTable
.Include(ba => ba.AccountInfo)
.Include(b => b.Branch)
.Include(ba => ba.Services).ThenInclude(s => s.Name)
.AsEnumerable()// switches to LINQ to Objects
.Where(ba =>
ba.status == null
&& (today - (ba.Reminder ?? ba.CreatedOn)).TotalDays > 6
&& (today < ba.CreatedOn.AddDays(50) && ba.AccountNumber == null ||
futureAccounts.Contains(ba.AccountNumber)))
.Where(ba => ba.AccountInfo.Any(x => x.Type.Equals("EC")))
.OrderBy(ba => ba.CreatedOn)
.Skip(skip)
.Take(500)
.ToList();
См. https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-3.0/#restricted -клиент-оценка