LINQ

lunedì 12 maggio 2008 - 14.23

Rik142 Profilo | Junior Member

Ciao a tutti,

sto cercando di trasformare questa query sql in una query linq. L'unico handicap è che non esiste il comando Not Exists. Qualcuno sa suggerirmi come risolvere il problema?

Grazie

SELECT A.AUDIT_DATA_VALUTAZIONE, T_RISPOSTE.RISP_AUDIT_CODICE, T_RISPOSTE.RISP_NONCONFORMITA, T_RISPOSTE.RISP_NONCONFCRITICA
FROM T_AUDIT AS A INNER JOIN
T_RISPOSTE ON A.AUDIT_CODICE = T_RISPOSTE.RISP_AUDIT_CODICE
WHERE ((T_RISPOSTE.RISP_NONCONFORMITA = 1) or (T_RISPOSTE.RISP_NONCONFCRITICA = 1)) AND
(NOT EXISTS
(SELECT 1 AS Expr1
FROM T_AUDIT
WHERE (AUDIT_DATA_VALUTAZIONE < A.AUDIT_DATA_VALUTAZIONE)))

lbenaglia Profilo | Guru

>sto cercando di trasformare questa query sql in una query linq.
>L'unico handicap è che non esiste il comando Not Exists. Qualcuno
>sa suggerirmi come risolvere il problema?

Dovresti utilizzare la sintassi:

...WHERE !(FROM.... SELECT...)

come riportato in questo post:
http://introducinglinq.com/blogs/marcorusso/archive/2008/01/14/the-not-in-clause-in-linq-to-sql.aspx

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Rik142 Profilo | Junior Member

Avevo già avuto modo di guardare questo thread ma purtroppo vb.net non riconosce il "!" a differenza di c#.

Rik142 Profilo | Junior Member

In virtù del fatto che non vi era modo di effettuare questo tipo di operazione ho semplicemente provveduto a fare una prima query che mi restituisse tutte le righe con la data < della data da me passata in input, ad ordinare le righe della prima query ed a prendere le informazioni utili dalla prima riga per andare a ricavarmi con una seconda query solo le righe che mi interessavano.
Insomma ho usato un barbatrucco che però a livello di programmazione è funzionale ma non bello.

Ciao e grazie lo stesso per l'aiuto!

Rik
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5