私は、次のコードを持っている:Func(Of Type、Boolean)をExpression(Of Func(Of Type、Boolean))に変換しますか?
Dim query As IQueryable(Of someObject) =
New ObjectQuery(Of someObject)(queryString, db, MergeOption.NoTracking)
.Where(CType(Function(x) x.Publish = True,
Expression(Of Func(Of someObject, Boolean))))
をそして、それは私に言うエラーを与える:
に( ブールの)タイプのFunc(SomeObjectの)可能System.Nullableの表現を変換できません。 System.Linq.Expressions.Expression(Of )System.Func(someObject、Boolean))を入力します。
私も試してみました:
のいずれかに動作しません.Where(CType(Function(x) x.Publish = True,
Expression(Of Func(Of someObject, Nullable(Of Boolean)))))
を。
私がCTypeを持っていない場合、私のwhere
は、IQueryableとIEnumerableからの変換エラーが狭くなるので、そこに必要ですが、どのように書くべきかわかりません変換される。どんな助け?
はパブリッシュの型(x.Publish)です。Nullableブール値?もしそうなら、あなたはExpressionをこれのように見えるように変更する必要があります。式(Of someObject、System.Nullable(Of Boolean)))... –
@Brian Dishaw、いいえnullableブール値ではありません。あなたが提案したことを試してみましたが、最後のものPartでは、Booleanの代わりにNullable(Of Boolean)と表示されます。 – SventoryMang