0

Entity FrameworkでRowNumberをクエリするにはどうすればよいですか? 例えば:

        var result = data.Users
            .OrderByDescending("Birthday")
            .ThenBy("LastName")
            .ThenBy("FirstName")
            .Select(u =>
                        {
                            RowNumber = ???,
                            u.FirstName,
                            u.LastName
                        });

グリッドにページングを実装したいのですが、必要なユーザーのページを見つける際の問題を解決できません。

私はEF4.0を使用しています。インデックスを使用した Select メソッド ( http://msdn.microsoft.com/en-us/vcsharp/aa336758.aspx#SelectIndexed ) は EF では機能しません。

これを実装する別の方法があるかもしれませんか?

4

1 に答える 1

1

スキップ、テイク、または LINQ to Entities でサポートされている他の多くのページング メソッドを使用できます。

http://msdn.microsoft.com/en-us/library/bb738474.aspx

http://msdn.microsoft.com/en-us/library/bb738702.aspx

例えば:

var result = data.Users 
            .OrderByDescending("Birthday") 
            .ThenBy("LastName") 
            .ThenBy("FirstName") 
            .Select(u => 
                        { 
                            u.FirstName, 
                            u.LastName 
                        }).Take(10); 

...最初の 10 行が表示されます。それがどれほど効率的かはわかりませんが、これらのリンクは、個々の問題に対する最適な解決策を見つけるのに役立つ場合があります.

于 2010-04-07T20:11:48.143 に答える