集計値を使用して IQueryable (Linq To SQL を使用) を並べ替える簡単な例を探していました。
基本的に、いくつかの派生値 (2 つの値のパーセンテージ差など) を計算し、これによって結果を並べ替える必要があります。
すなわち
return rows.OrderBy(Function(s) CalcValue(s.Visitors, s.Clicks))
Aggregateを計算するために外部関数を呼び出したいです。これは IComparer を実装する必要がありますか? またはIComparable?
ありがとう
[編集] 使用しようとしました:
Public Class SortByCPC : Implements IComparer(Of Statistic)
Public Function Compare(ByVal x As Statistic, ByVal y As Statistic) As Integer Implements System.Collections.Generic.IComparer(Of Statistic).Compare
Dim xCPC = x.Earnings / x.Clicks
Dim yCPC = y.Earnings / y.Clicks
Return yCPC - xCPC
End Function
End Class
LINQ to SQL は、IComparer の使用を好みません