如果你有一个填充 IQueryable 变量。
如何在该列表的末尾添加新的空条目?
以下是我必须做的事情:
您现在可以在 asp.net 中看到该模式以及转发器。
我应该简单地创建通用列表(。toList())并使用添加功能,还是有更好的方法来执行此操作?
答案 0 :(得分:1)
好吧,如果您愿意将其转换为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位;其余的都在进行中。”
答案 1 :(得分:1)
好吧,我要列出它并使用Length属性来确定下一步该做什么。
但是,如果你不想这样做,你可以在一个有五个空条目的IEnumerable上做一个Union,然后对结果做一个Take(5)。看起来有点多余,而不是更短,tho。