Ces classes ont des méthodes similaires mais semblent fonctionner différemment.Quelle est la différence entre DetachedCriteria et ICriteria?
Quelle est la différence entre eux et quand dois-je utiliser chacun d'entre eux?
Ces classes ont des méthodes similaires mais semblent fonctionner différemment.Quelle est la différence entre DetachedCriteria et ICriteria?
Quelle est la différence entre eux et quand dois-je utiliser chacun d'entre eux?
Les critères détachés peuvent être élaborés sans référence à un ISession
. Vous pouvez ensuite prendre ce critère et l'appliquer à un ISession
pour obtenir un exécutable ICriteria
.
Utilisez ICriteria
lorsque vous avez une session.
Utilisez DetachedCriteria
lorsque vous n'êtes pas sûr de la session à laquelle la requête sera exécutée.
Notez que DetachedCriteria
ne pas mettre en œuvre ICriteria
- ils ne sont pas interchangeables. Vous devez toujours appeler detachedCriteria.GetExecutableCriteria(session)
pour obtenir une instance ICriteria
.
Merci pour la réponse, j'ai mis à jour ma question, pouvez-vous vérifier? – kilonet
@kilonet Oui; semble bizarre. Si vous définissez un point d'arrêt sur le second et inspectez la valeur de la variable locale 'category', qu'est-ce que c'est? – Jay
oui, c'était un problème de nommage variable – kilonet