2010-03-03 9 views
1

je le T-SQL suivante:T-SQL pour HQL (NHibernate)

DELETE FROM Table 
WHERE [email protected] 
AND TableId NOT IN 
(SELECT TOP 10 TableId 
FROM Table 
WHERE [email protected] 
ORDER BY DateColumn) 

Quel est l'équivalent NHibernate?

+0

Je ne pense pas que hql a le mot-clé 'top' ... vous devez utiliser SetMaxResults() mais je ne sais pas comment vous pouvez le faire sur la sous-requête. Peut-être casser dans deux requêtes distinctes? – dotjoe

Répondre

0

En fait, lors de la modification de plusieurs éléments dans NHibernate, j'utiliserais HQL.

Vous pouvez également interroger le select interne, vous obtiendrez 10 id. Et puis utilisez où tableId pas dans (1, 2, 3, 4ème id, etc ...)

Questions connexes