0

私は非常に奇妙な問題を抱えています。

800.000 を超えるレコードと 2 GB の mdf データベースを含むテーブルがあります。

最後のレコードを取得しようとすると、
1 か月前までのレコードしか取得できず、最後のレコードが表示されません。

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 にはクエリできるレコードの制限がありますか?

4

1 に答える 1

0

おそらくこれでうまくいくかもしれません:

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

あなたが注文していたので、フィールドのそれぞれの最も古いレコードから最初の 100 レコードを取得するように、Item.PubDate Descendingを削除しました。DescendingItem.PubDate

于 2009-07-01T01:09:14.747 に答える