0

サービス クラスに、データベース内のすべてのユーザーを返すステートメントがあります。現在、250 人のユーザーがいますが、IE、chrome、および FF では、1 ページあたり 10 ユーザーしか獲得できません。考えられる原因と、これをどのように変更できますか。

public IEnumerable<Users> GetUsers(int sectionID)
    {
        var _user = DataBase.ProcsContext.GetRoster<Users>(sectionID, u => new Users
        {
            Name = UserColumnMap.Name(u),
            Email = UserColumnMap.Email(u)
        });
        return _user;
    }

GetRoster

public virtual IEnumerable<T> GetRoster<T>(int sectionId, Func<IDataRecord, T> modelBinder, int resultsPerPage = 10, int pageNumber = 1)
        {
            //code
        }
4

3 に答える 3

2

考えられる原因は何ですか

これに対する答えは、 で要約したコードの一部です//codeそこで何が起こっているかを見れば、ページングSkipで一般的に使用されるおよびTakeメソッドに気付くでしょう。特定のサイズのチャックでレコードを表示します。現在、ページ サイズとページ番号のデフォルト値は、それぞれとです。したがって、オプションのパラメーターを指定せずにこのメソッドを呼び出すと、常に最初の 10 レコードが取得されます。101

そして、これをどのように変更できますか

必要なページ サイズとページ番号を指定してメソッドを呼び出します。

= 10そして - と を削除して、このコードを改善します= 1。ページング方法の場合、デフォルトのパラメーターは役に立たず、欺瞞的だと思います。取得するページ番号とページ サイズを常に意識しておく必要があります。David Tansey のコメントに従います。これを常にすべてのレコードを返すメソッドに変更することはお勧めできません。

于 2013-04-13T20:12:56.970 に答える