2009-11-03 3 views
3

Je cherche un exemple de code de code linq qui utilise System.Linq.Dynamic par rapport à un datatable. Je reçois une erreur "il n'y a pas accessible Où peut être appelé avec ces arguments". J'ai inclus le fichier DynamicLinq.vb et l'application compile bien (en dehors de cette erreur). J'ai inclus Imports System.Linq.Dynamic mais il ne semble pas fonctionner.Linq sur datatable à l'aide d'un échantillon de bibliothèque dynamique?

Des idées? thx

+0

Pouvez-vous mettre le code en question? –

Répondre

2

Le Enumerable.Where prend Func(Of TSource, Boolean) comme argument et votre passage un String.

(mise à jour)

n'a pas pris la partie de la bibliothèque dynamique ... désolé. Je pense que vous devez faire ceci:

dt.AsQueryable() 

Parce que les méthodes d'extension sur la bibliothèque sont définies comme suit:

<Extension()> _ 
Public Function Where(ByVal source As IQueryable, ByVal predicate As String, 
         ByVal ParamArray values() As Object) As IQueryable 
+0

J'essaie d'utiliser les extensions linq dans http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library. aspx mais quelque chose ne va pas comme il semble que le .Where dans l'extension n'est pas utilisé – David

+0

@David, voir ma mise à jour –

+0

Si vous faites OrderBy, vous devez d'abord faire dt.AsEnumerable(). AsQueryable() –