Autor Beitrag
Schnippet
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 18.03.09 16:30 
Hallo,

in dem angefügten Beispiel hole ich mir eine Auswahl von Daten in eine ObjectQuery.
Nun möchte ich aber die Where-Funktion dynamisch bedienen. D.h. ich weiss erst zur Laufzeit wie der Filter gesetzt werden soll. Der erste Parameter könnte ja noch in einer String-Variable aufgebaut werden, aber wie kann das mit den anderen Parametern gehen ?

ausblenden C#-Quelltext
1:
2:
ObjectQuery<Objekt> ObjektQuery =
                    ef.Objekt.Where(("it.CreateDate>= @von and it.CreateDate<= @bis"), von, bis);


Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 18.03.09 17:34 
ausblenden C#-Quelltext
1:
2:
3:
4:
public ObjectQuery<T> Where(
    string predicate,
    params ObjectParameter[] parameters
)

params ist reiner Syntactic Sugar, der implizit ein Array erstellt. Explizit sieht es so aus:
ausblenden C#-Quelltext
1:
ef.Objekt.Where("it.CreateDate>= @von and it.CreateDate<= @bis"new[] { von, bis });					

Du musst die dynamischen Parameter also in ein ObjectParameter[] stecken.

_________________
>λ=
Schnippet Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Do 19.03.09 11:47 
Jau, das hat geholfen. Vielen Dank!