Использование GroupBy и включение в IQueryable - PullRequest
0 голосов
/ 20 октября 2019

Мне нужно объединить номер строки и строку данных, поэтому я создаю эту команду

var query = _context.Branches.AsNoTracking()
                .Where(t => t.BranchType == type)
                .Include(t=>t.Address)
                .OrderBy(t => t.SortRate)
                .GroupBy(t=>1).AsQueryable()
                .SelectMany(g => g.Select((j, i) =>  new { dataRow=j, rowNumber=i+1 }));

Когда я запускаю свое приложение, у меня Object reference not set to an instance of an object. исключение в строке query = query.Take(takeSize);. но если я прокомментирую .Include(t=>t.Address) строку из query, мой запрос будет выполнен очень хорошо.

Если я изменю свой запрос на:

var query = _context.Branches.AsNoTracking()
                .Where(t => t.BranchType == type)
                .OrderBy(t => t.SortRate)
                .Select((j, i) =>  new { dataRow=j, rowNumber=i+1 });

В моем запросе есть исключение

Не удалось проанализировать значение выражения (Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable 1[Manex.Data.Entitis.Branch]).AsNoTracking().Where(t => (Convert(t.BranchType, Int32) == Convert(__8__locals1_type_0, Int32))).OrderBy(t => t.SortRate).Select((j, i) => new <>f__AnonymousType4 2 (dataRow = j, rowNumber = (i + 1))) ': эта перегрузка метода' System.Linq.Queryable.Select 'в настоящее время не поддерживается.

Я использую EF Core 2.2

Почему это случилось!?

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