に動作していない私は、この作業を取得したいのですが実行する:のOrderBy Linq.Expression LinqToEntityが
DBSetコンストラクタ:
dbset = DataContext().[Set](Of T)()
コール:(ページ番号&はページ番号付けに使用されるため、たとえば最初の20個の値についてはCount = 20、Page = 1など)。 C#で名前
LeverancierService.GetLeveranciers(Function(el) el.Name, Count, Page)
当量であるべきでソート:エラーを与える LeverancierService.GetLeveranciers(EL => el.Name、カウント、ページ)
メソッド(パラメータは上記に示す):
Public Overridable Function GetAllPaged(orderby As Expression(Of Func(Of T, IComparable)), ByVal Count As Integer, ByVal Page As Integer) As IEnumerable(Of T)
Return dbset.OrderBy(orderby).Skip((Page - 1) * Count).Take(Count).ToList()
End Function
はすでにこれにそれを変更しようとしたが、それは同じエラーを与える:
Public Overridable Function GetAllPaged(Of TOrderBy)(orderby As Expression(Of Func(Of T, TOrderBy)), ByVal Count As Integer, ByVal Page As Integer) As IEnumerable(Of T)
Return dbset.OrderBy(orderby).Skip((Page - 1) * Count).Take(Count).ToList()
End Function
エラー:
Unable to cast the type 'System.String' to type 'System.IComparable'. LINQ to Entities only supports casting Entity Data Model primitive types.
どうすればいいですか?
追加情報:
私はDDD層アプリケーションでので、私はこれを変更する場合は、呼び出されたメソッドはオーバーライドされたインターフェース(例えばあるように、パラメータが同じ滞在する必要があり、私はこれをしなければなりません。 VB.Netにあり、C#(= 1変更)ではなく、200回程度です)
あなたのdbsetに関するデータを追加できますか?あなたのdbsetはどのように定義されていますか?このような? :DataContext.Set(Of TEntity)? –
プライベートReadOnly dbsetとしてIDbSet(Of T) – NicoJuicy
dbset = DataContext()。[Set](Of T)() – NicoJuicy