Interesting approach, however this seems to be throwing an invalid cast exception, which says that an ObjectQuery cannot be cast to an ObjectSet:
System.InvalidCastException occurred
Message=Unable to cast object of type 'System.Data.Objects.ObjectQuery`1[PrismaModel.Aanvraag]' to type 'System.Data.Objects.ObjectSet`1[PrismaModel.Aanvraag]'.
Source=PrismaModel
StackTrace:
at PrismaModel.AanvraagManager.GetAanvragen(String zoektekst)
InnerException:
In the mean time, I have successfully tried a dynamic query like so:
Dim ctx As PrismaEntities = ConnectionManager.CreateContext
Dim filter As String = "1=1"
filter &= String.Format(" AND it.klant.realtie.naam LIKE '%{0}%')", zoektekst)
If IsNumeric(zoektekst) Then
filter &= String.Format(" AND it.aanvraagnr = '{0}')", zoektekst)
End If
Dim q = ctx.aanvragen.Where(filter).OrderBy("it.aanvraagDatum DESC, it.Artikelnr")
Return New SortableBindingList(Of Aanvraag)(q.ToList)
Cons: the filter is not strongly typed :(
Pro's: descending ordering supported in one combined order statement.