Linq没有在大表中检索正确的项目

时间:2009-07-01 01:02:50

标签: .net sql linq linq-to-sql mdf

我有一个非常奇怪的问题。

我有一张包含超过800.000条记录和2GB mdf数据库的表格。

当我尝试获取最后的记录时: 我只在一个月前收到记录,最后的记录没有出现。

Dim Items = From Item In DB.Items _
            Where Item.CatID = CatID _
            Order By Item.PubDate Descending _
            Select Item Take 100

但如果我将Select限制为最后的ID,那么我会得到预期的结果。

Dim Items = From Item In DB.Items _
            Where Item.CatID = CatID _
            And Item.ID > 600000 _
            Order By Item.PubDate Descending _
            Select Item Take 100

那么,这里发生了什么 Linq是否有可以查询的记录限制?

1 个答案:

答案 0 :(得分:0)

也许这可能会这样做:

Dim Items = From Item In DB.Items _
        Where Item.CatID = CatID _
        Order By Item.PubDate _
        Select Item Take 100

由于您按Item.PubDate Descending排序,我删除了Descending,以便您从Item.PubDate字段的最早记录中获取前100条记录。