【发布时间】:2008-12-08 20:42:08
【问题描述】:
是否可以在 Linq 查询中使用“分页”功能?假设我有一些这样的 XML:
<Root>
<BetaSection>
<Choices>
<SetA>
<Choice id="choice1">Choice One</Choice>
<Choice id="choice2">Choice Two</Choice>
<Choice id="choice3">Choice Three</Choice>
.
.
.
<Choice id="choice48">Choice Forty-Eight</Choice>
<Choice id="choice49">Choice Forty-Nine</Choice>
<Choice id="choice50">Choice Fifty</Choice>
</SetA>
</Choices>
</BetaSection>
</Root>
如果我想实现分页功能,是否可以为 LINQ 查询提供偏移量,以便我可以从第 11 个元素开始并在第 20 个元素结束?如果是这样,如果数据是对象列表而不是 XML,那么查询会有什么不同吗?
【问题讨论】:
-
可以通过 linq 进行分页。我不知道你想达到什么目的。如果在 xml 文件中保存了大量记录,并且您想通过 linq 使用分页从那里获取数据,那么这是不可能的。大多数时候人们使用 xml doc 类来读取 xml 文件,然后将完整的 xml 数据加载到内存中。当完整数据加载到内存中时,不应将其视为分页。 linq 只会从内存中读取少量数据并返回........但这不能说是分页。分页意味着我只会将少量数据加载到我要显示或使用的内存中。
标签: c# linq-to-xml