[RIA Services] Load d'un domain contexts avec plusieurs Where()
Bonjour à tous :)
Je suis en SL3, avec SQL 2008.
J'ai l'habitude de récupérer mes données en base de manière classique :
Code:
1 2
| MyContext myContext = new MyContext();
myContext.Load<MyTable>(myContext.GetMyTableQuery().Where(x => x.filter = 50); |
Mon problème, c'est qu'en fonction des filtres saisis par l'utilisateur, je peux avoir potentiellement 50 clauses Where, à combiner. Et je veux éviter ce genre de code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| if (!string.IsNullOrEmpty(tbFiltre1.Text))
{
if (!string.IsNullOrEmpty(tbFiltre2.Text))
{
myContext.Load<MyTable>(myContext.GetMyTableQuery().Where(x => x.filter1 = tbFiltre1.Text).Where(x => x.filter2 = tbFiltre2.Text);
}
else
{
myContext.Load<MyTable>(myContext.GetMyTableQuery().Where(x => x.filter1 = tbFiltre1.Text);
}
}
else
{
if (!string.IsNullOrEmpty(tbFiltre2.Text))
{
myContext.Load<MyTable>(myContext.GetMyTableQuery().Where(x => x.filter2 = tbFiltre2.Text);
}
else
{
myContext.Load<MyTable>(myContext.GetMyTableQuery());
}
} |
Et là je donne un exemple avec seulement 2 filtres. Il y en a potentiellement 50, des textboxes, des comboboxes...
Existe t-il un moyen de variabiliser les clauses Where (en LINQ ??) pour pouvoir les combiner après, ou autre ??
Merci d'avance :)