если возвращается только одна запись, вывод linq неверен c # - PullRequest
0 голосов
/ 04 февраля 2019

следующий код вернет вновь вставленные записи id из моей таблицы Device.

var newIds = context.Devices.Take(deviceDataList.Count)
                    .OrderByDescending(t => t.Id)
                    .Select(t => t.Id)
                    .ToList();

, если deviceDataList.Count больше 1, то работает нормально.

, нокогда он только один, он возвращает неправильный сначала id вместо последнего вставленного.

1 Ответ

0 голосов
/ 04 февраля 2019

Сначала заказ, а затем принять.Take извлекает записи в том порядке, в котором они находятся в коллекции (возможно, только на диске или любом другом обосновании базы данных).Если вы хотите быть уверены, что это Id, сделайте это.

var result = context.Devices.OrderByDesending(t => Id)
                    .Take(deviceDataList.Count)
                    .Select(t => t.Id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...