Dans LINQ to SQL que je peux faire comme ceci:Clauses conditionnelles pour une requête linq vers Db4O?
var q = db.Colors;
if(! string.IsNullOrEmpty(colorName))
q = q.Where(c=>c.Name.Equals(colorName));
return q.ToList();
db4o LINQ Je ne peux pas le faire comme ça parce que je dois commencer par
var q = (from Color c in db
select c);
if(! string.IsNullOrEmpty(colorName))
q = q.Where(c=>c.Name.Equals(colorName));
return q.ToList();
Il en résulte
- une énumération complète de toutes les couleurs
- un filtre par son nom.
Ce n'est pas la solution que je visais bien sûr. Des suggestions?
Wow, ceci est un vieux post. Je pense que maintenant linq to DB4O supporte les expressions lambda. Pas sûr, n'ont pas eu la chance de travailler avec elle récemment. Si non votre solution pourrait probablement fonctionner. Le soir prochain j'ai un peu de temps je vais le vérifier :) –
J'ai finalement réussi à le faire, et il semble que le linq 2 db4o n'est toujours pas capable d'obtenir ce que je veux. La syntaxe que vous suggérez est possible, mais j'aimerais quand même avoir une syntaxe plus propre (lambda). –