我有下面的代碼:將Func(Of Type,Boolean)轉換爲表達式(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(的 System.Func(someObject,布爾))。
我也曾嘗試:
.Where(CType(Function(x) x.Publish = True,
Expression(Of Func(Of someObject, Nullable(Of Boolean)))))
這也不起作用。
如果我沒有CType,我的where
從IQueryable和IEnumerable出現縮小的轉換錯誤,所以我需要那裏,但我不知道如何寫入參數作爲表達式,以便它可以被轉換。任何幫助?
是發佈的類型(x.Publish)可爲null的布爾值?如果是這樣,你只需要改變表達式來看起來像這樣。表達式(的Func(的someObject,System.Nullable(的布爾)))... ... –
@布萊恩Dishaw,它不是一個可空布爾,我試着你的建議,它仍然說除了最後一樣的東西部分說Nullable(布爾)而不是布爾。 – SventoryMang