Je récemment ceci:Linq2Sql - Stockage des expressions Linq en texte clair (LINQ) pour l'exécution future dynamique
Linq2Sql - Storing Complex Linq Queries for future dynamic execuction - raw text - possible?
Il a répondu à une question, mais m'a envoyé un chemin différent en raison de la sous-requête avoir besoin de référence la même table la requête d'origine existe déjà.
J'ai été capable de faire exactement ce que je voulais faire dans Linqpad en utilisant le mot-clé "let".
de posMain dans DataEventView let posSub = de posSub1 dans DataEventView où posSub1.CheckNumber == posMain.CheckNumber & & posSub1.EventTypeID == 7 select posSub1 où posMain.EventTypeID == 6 & & posSub.Any() select posMain
Cela crée effectivement la sous-requête que j'ai essayé de faire. Maintenant, je pensais --- Je voudrais vraiment créer dynamiquement l'objet IQueryable en mémoire, et puis mon application peut y faire référence, et continuer à ajouter des expressions à celui-ci si nécessaire.
Je pense que je vais devoir faire avec le CodeDom, mais il peut y avoir une façon plus élégante d'obtenir le IQueryable de juste avoir Texte brut pour commencer. Quelqu'un at-il dû stocker une déclaration linq pour une future exécution? Ces instructions sont dynamiques par client, elles ne peuvent donc pas être respectées dans le cadre. Peut-être qu'il y a une meilleure idée?
Merci d'avance.
Travis
C'est parfait! Merci! – TravisWhidden