Je n'ai pas trouvé la réponse parmi les nombreux messages sur Linq, alors je suis ici. Nous avons une application client-serveur, où le côté client n'a absolument aucune connaissance de la couche DAL réelle côté serveur, implémentée incidemment à l'aide de NHibernate. Cela signifie qu'il n'y a aucune référence à NHibernate dans les assemblages côté client, ni aucune abstraction de base de données. Le côté client parle strictement en termes d'entités, qui sont basées sur des objets métier CSLA.Utilisation de Linq Expressions pour découpler le côté client de DAL (côté serveur)
Je voudrais laisser le côté client filtrer les entités affichées. Mon idée est de laisser le côté client construire une expression Linq, la transmettre au côté serveur, récupérer les données correspondant à l'expression en utilisant Linq à NHibernate et le renvoyer au client. J'ai téléchargé et compilé Linq à NHibernate, mais malheureusement, je ne trouve pas d'exemple découplant les expressions Linq (côté client) de l'instance NHibernateContext respective (côté serveur). Tous les exemples semblent être comme
from c in db.Customers where ...
dire à la fois le contexte (db.Customers) et l'expression (où ...) dans une déclaration.
Est-il possible de les découpler? Merci.
Bonjour Andrew. J'ai visité le lien. Mais tous les échantillons lient le contexte et l'expression ensemble dans une instruction linq. J'ai besoin de quelque chose comme ceci: var expr = GetExpressionFromUser(); // <- côté client var results = FetchByExpression (expr); // <- côté serveur –
mark