0

複雑な LINQ クエリから 10 個のレコードを取得するにはどうすればよいですか? を入れようとしました.Skip(X).Take(10)が、動作しません。10 を取得しようとしている場所によっては、オブジェクトの完全なセットが返されるか、何も返されません。

クエリの最後に設定.Skip(X).Take(10)するのは、パフォーマンスが遅いため、探しているものではありません。

これは私のクエリです:

List<ReportReturn> report =  
    from var1 in context.Table1
    join var2 in context.Table2
        on var1.AccountID equals var2.AccountID
    join var3 in context.Table3
        on var1.AccountID equals var3.AccountID into all
    where 
        var1.SubAccountID == intSubAccountID && 
        // ...... and more conditions

    let actual = var1.Total.GetValueOrDefault(0)
    let Unique = var2.CountUnique 
    let Total = var2.Count

    // ........ and more helper values

    orderby var1.Date descending

    from final in all.DefaultIfEmpty()
    select new ReportReturn {
        // ........................some property assigments
    };
4

1 に答える 1

2

ただ書いている

.Skip(X).Take(10)

タイプで出力を提供しますIEnumerable<T>が、あなたのものはList<T>タイプです。

だからあなたは使うべきです

.Skip(X).Take(10).ToList()

あなたの場合。

于 2012-10-11T08:56:43.650 に答える