Хорошо, если вы счастливы преобразовать его в IEnumerable<T>
, вы можете использовать
query.Concat(Enumerable.Repeat(new SomeRow(), 5)
.Take(5);
Обратите внимание, что это добавит одну и ту же дополнительную строку 5 раз (а затем сократит общую сумму до 5). Это не сработает, если вам понадобится редактировать строки; для этого вам нужно что-то вроде:
query.AsEnumerable()
.Concat(Enumerable.Range(1, 5).
.Select(ignored => new SomeRow())
.Take(5);
(я не думаю есть более простой способ вызова одной и той же функции n
раз, но я могу ошибаться.)
РЕДАКТИРОВАТЬ: я добавил вызов AsEnumerable()
на основе комментариев. По сути, вызов AsEnumerable
означает «Я закончил бит SQL; все остальное в процессе».