1
我正在使用PredicateBuilder(來自LinqKit)。在帶子集合的投影中使用PredicateBuilder
這是我的代碼:
Dim mylist as IQueryable(of MyObj1)
Dim pred1 = PredicateBuilder.True(Of Myobj1)()
Dim pred2 = PredicateBuilder.True(Of ch1)()
Dim pred3 = PredicateBuilder.True(Of ch2)()
pred1=pred1.And(Function(t) t.id=5)
pred2=pred2.And(Function(t1) t1.vl1>=7)
pred3=pred3.And(Function(t2) t2.quantity<=4)
mylist = (From t In context.Myobj1s.Where(pred1)Select New With { _
.Parent = t, _
.child1 = t.ch1s.AsQueryable.Where(pred2), _
.child2 = t.ch2s.Asqueryable.Where(pred3) _
}).ToList
但我發現了這個錯誤:
The LINQ expression node type 'Invoke' is not supported in LINQ to Entities.
我也嘗試使用AsExpandable代替AsQueryable已,但問題沒有得到解決。
謝謝,但請如何使用此方法?我的意思是有一個我應該安裝的金塊包,我應該包括什麼......等等? , – alex 2015-02-07 20:58:33
不,沒有,不幸的是。您必須將源代碼轉換爲VB代碼(並將其添加到代碼庫中),或者將其編譯爲C#類庫並將其添加爲參考。 – 2015-02-07 21:02:10
這是否也適用於普通的Linq集合,還是僅適用於使用SQL提供者的集合? – 2015-02-07 21:14:52