Je souhaite créer une requête avec une application croisée dans une fonction de valeur de table définie par l'utilisateur dans LINQ. Le SQL serait vraiment assez simple comme ci-dessous:Application LINQ to SQL
SELECT *
FROM MyTable mt
CROSS APPLY MyTVF(mt.id)
This après donne un exemple d'une requête LINQ qui se traduit par SQL généré qui contient à la fois une croix applique et une extérieure appliquer, mais seulement pour une sous requête non pour une tvf. L'article This confirme que LINQ to SQL générera des opérateurs d'application croisée et externe pour les "navigations de relations", mais je ne suis pas sûr de ce que cela signifie dans ce contexte. This post décrit à peu près ce que je veux faire et la réponse dit que la seule façon de le faire est d'encapsuler la requête SQL dans une procédure stockée, puis d'appeler le sp via LINQ. J'espère que ce n'est pas vrai parce que j'ai vraiment besoin d'un tvf qui peut être utilisé de cette manière dans une application dans plusieurs requêtes LINQ, donc "envelopper dans un sp" ne fonctionnerait pas pour moi. Est-ce que quelqu'un connaît un moyen d'obtenir quelque chose comme la simple instruction SQL ci-dessus via LINQ?
donjon à l'esprit, cette relation entre linq et SQL n'est pas surjective, donc toutes les commandes SQL ne peuvent pas être interprétées via linq. – nothrow