Vorrei creare una query con una croce applicata in una funzione del valore di tabella definita dall'utente in LINQ. Lo SQL sarebbe veramente piuttosto semplice come sotto:Si applica cross LINQ a SQL
SELECT *
FROM MyTable mt
CROSS APPLY MyTVF(mt.id)
This alberino fornisce un esempio di una query LINQ che si traduce in SQL generato che contiene diffusa sia una croce ed un'esterna applica ma solo per una domanda secondaria non per una TVF. L'articolo This conferma che LINQ to SQL genererà operatori cross apply e outer apply per "navigazioni di relazioni" ma non sono sicuro di cosa significhi in questo contesto. This post descrive praticamente cosa voglio fare e la risposta dice che l'unico modo per farlo è quello di avvolgere la query SQL in una stored procedure e quindi chiamare lo sp tramite LINQ. Spero che questo non sia vero perché in realtà ho bisogno di un tvf che possa essere usato in questo modo attraverso un'applicazione in più query LINQ quindi "avvolgere in una sp" non funzionerebbe per me. Qualcuno sa di un modo per ottenere qualcosa come la semplice dichiarazione SQL sopra tramite LINQ?
mastio in mente, quella relazione tra linq e SQL non è suriettiva, quindi non tutti i comandi SQL possono essere interpretati tramite linq. – nothrow