Clé Dynamic where dans Linq to Entities
Je suis en utilisant linq to entities(EF).
J'ai un constructeur qui prend 4 paramètres de la chaîne. En fonction de ce paramètre n'est pas null-je construire la requête linq. Je peux le faire avec si else mais je possède également d'autres constructeur avec 10 paramètres dans ce cas, il y aura de nombreuses combinaisons pour vérifier.
Exemple:
Constructor(p1,p2,p3,p4)
{
var prod= from p in ctxt.products.expand("items\details")
where p.x==p1 && p.xx==p2 && p.xxx==p3 && p.xxxx==p4
select p;
}
Dans le ci-dessus où la clause devrait être la condition vérifie uniquement si le paramètre n'est pas null.
c'est à dire.,
si p2 est null, alors la clause where devrait ressembler à
where p.x==p1 && p.xxx==p3 && p.xxxx==p4
si p2 et p3 sont nulles alors
where p.x==p1 && p.xxxx==p4
Quelqu'un peut me dire comment gérer cela. si possible, pouvez-vous donner un exemple de code pour cette
source d'informationauteur Deepak
Vous devez vous connecter pour publier un commentaire.
Linq DeferredExecution de sauvetage. Requête Linq n'est pas exécutée, à moins que les données sont demandées.
Vous pouvez enchaîner les méthodes requises:
Le SQL qui en résulte doit être le même que si vous les mettez tous dans un seul énoncé.
Vous pouvez toujours créer la requête en morceaux et de prendre avantage de retard de l'exécution de la requête: