0

Visual Studio 2010、Visual Basic、およびlinqの使用で奇妙な問題が発生しています。私のラムダの表現は知性に現れていません。私が取り組んでいるプロジェクトは、Visual Studio 2008で作成され、VisualStudio2010プロジェクトに変換しました。

これが私が実行しようとしている式です:

ClockItemsColl.Filter = ClockItemsColl.AsQueryable().OrderBy(d >= d.Second)

しかし、私が得ているエラーは次のとおりです。

'd'は'Friend'であるため、このコンテキストではアクセスできません。

私も試しました

ClockItemsColl.Filter = ClockItemsColl.AsQueryable().OrderBy(Function(d As ClockItems) d >= d.Second)

しかし、それでもエラーが発生し、頭や尾を作ることができません。

アクセス可能な'OrderBy'を次の引数で呼び出すことができないため、オーバーロードの解決に失敗しました。拡張メソッド' Public Function OrderBy(Of TKey)(keySelector As System.Func(Of BusinessObjects.ClockItems、TKey))As System.Linq.IOrderedEnumerable(Of BusinessObjects 'System.Linq.Enumerable'で定義された.ClockItems)':演算子'> ='は、タイプ' BusinessObjects.ClockItems'および'Integer?'に対して定義されていません。拡張メソッド'PublicFunction OrderBy(Of TKey)(keySelector As System.Func(Of BusinessObjects.ClockItems、TKey))As System.Linq.IOrderedEnumerable(Of BusinessObjects.ClockItems)'で定義された'System.Linq.Enumerable':データ型タイプパラメータの(s)は、これらの引数から推測することはできません。データ型を明示的に指定すると、このエラーが修正される場合があります。拡張メソッド'PublicFunction OrderBy(Of TKey)(keySelector As System.Linq.Expressions.Expression(Of System.Func(Of BusinessObjects.ClockItems、TKey)))As System.Linq.IOrderedQueryable(Of BusinessObjects.ClockItems)' 'System.Linq.Queryable':演算子'> ='は、タイプ'BusinessObjects.ClockItems'および'Integer?'に対して定義されていません。拡張メソッド'PublicFunction OrderBy(Of TKey)(keySelector As System.Linq.Expressions.Expression(Of System.Func(Of BusinessObjects.ClockItems、TKey)))As System.Linq.IOrderedQueryable(Of BusinessObjects.ClockItems)' 'System.Linq.Queryable':タイプパラメーターのデータ型は、これらの引数から推測できません。データ型を明示的に指定すると、このエラーが修正される場合があります。Public Function OrderBy(Of TKey)(keySelector As System.Linq.Expressions.Expression(Of System.Func(Of BusinessObjects.ClockItems、TKey)))As System.Linq.IOrderedQueryable(Of BusinessObjects.ClockItems)'システムで定義されています。 Linq.Queryable':演算子'> ='は、タイプ' BusinessObjects.ClockItems'および'Integer?'に対して定義されていません。拡張メソッド'PublicFunction OrderBy(Of TKey)(keySelector As System.Linq.Expressions.Expression(Of System.Func(Of BusinessObjects.ClockItems、TKey)))As System.Linq.IOrderedQueryable(Of BusinessObjects.ClockItems)' 'System.Linq.Queryable':タイプパラメーターのデータ型は、これらの引数から推測できません。データ型を明示的に指定すると、このエラーが修正される場合があります。Public Function OrderBy(Of TKey)(keySelector As System.Linq.Expressions.Expression(Of System.Func(Of BusinessObjects.ClockItems、TKey)))As System.Linq.IOrderedQueryable(Of BusinessObjects.ClockItems)'システムで定義されています。 Linq.Queryable':演算子'> ='は、タイプ' BusinessObjects.ClockItems'および'Integer?'に対して定義されていません。拡張メソッド'PublicFunction OrderBy(Of TKey)(keySelector As System.Linq.Expressions.Expression(Of System.Func(Of BusinessObjects.ClockItems、TKey)))As System.Linq.IOrderedQueryable(Of BusinessObjects.ClockItems)' 'System.Linq.Queryable':タイプパラメーターのデータ型は、これらの引数から推測できません。データ型を明示的に指定すると、このエラーが修正される場合があります。ClockItems、TKey)))As System.Linq.IOrderedQueryable(Of BusinessObjects.ClockItems)'で定義された'System.Linq.Queryable':演算子'> ='は、タイプ' BusinessObjects.ClockItems'および'Integer?'に対して定義されていません。拡張メソッド'PublicFunction OrderBy(Of TKey)(keySelector As System.Linq.Expressions.Expression(Of System.Func(Of BusinessObjects.ClockItems、TKey)))As System.Linq.IOrderedQueryable(Of BusinessObjects.ClockItems)' 'System.Linq.Queryable':タイプパラメーターのデータ型は、これらの引数から推測できません。データ型を明示的に指定すると、このエラーが修正される場合があります。ClockItems、TKey)))As System.Linq.IOrderedQueryable(Of BusinessObjects.ClockItems)'で定義された'System.Linq.Queryable':演算子'> ='は、タイプ' BusinessObjects.ClockItems'および'Integer?'に対して定義されていません。拡張メソッド'PublicFunction OrderBy(Of TKey)(keySelector As System.Linq.Expressions.Expression(Of System.Func(Of BusinessObjects.ClockItems、TKey)))As System.Linq.IOrderedQueryable(Of BusinessObjects.ClockItems)' 'System.Linq.Queryable':タイプパラメーターのデータ型は、これらの引数から推測できません。データ型を明示的に指定すると、このエラーが修正される場合があります。BusinessObjects.ClockItems'および'Integer?'。拡張メソッド'PublicFunction OrderBy(Of TKey)(keySelector As System.Linq.Expressions.Expression(Of System.Func(Of BusinessObjects.ClockItems、TKey)))As System.Linq.IOrderedQueryable(Of BusinessObjects.ClockItems)' 'System.Linq.Queryable':タイプパラメーターのデータ型は、これらの引数から推測できません。データ型を明示的に指定すると、このエラーが修正される場合があります。BusinessObjects.ClockItems'および'Integer?'。拡張メソッド'PublicFunction OrderBy(Of TKey)(keySelector As System.Linq.Expressions.Expression(Of System.Func(Of BusinessObjects.ClockItems、TKey)))As System.Linq.IOrderedQueryable(Of BusinessObjects.ClockItems)' 'System.Linq.Queryable':タイプパラメーターのデータ型は、これらの引数から推測できません。データ型を明示的に指定すると、このエラーが修正される場合があります。タイプパラメータのデータ型は、これらの引数から推測することはできません。データ型を明示的に指定すると、このエラーが修正される場合があります。タイプパラメータのデータ型は、これらの引数から推測することはできません。データ型を明示的に指定すると、このエラーが修正される場合があります。

データレイヤーとのインターフェイスにエンティティスペースを使用していますが、Linqを使用するのはこれが初めてなので、少し苦労しています。

御時間ありがとうございます。

4

1 に答える 1

0

私はあなたが望むものがこれに近いと信じています:

ClockItemsColl.Filter = ClockItemsColl.AsQueryable().OrderBy(Function(d) d.Second)

このサイトは、VBlinq構文を学習するための優れた「移動」です。

他に何かあったら教えてください。

于 2010-11-12T19:01:33.080 に答える