Question

Lors de la création d'un critère dans NHibernate, je peux utiliser

Restriction.In() ou
Restriction.InG()

Quelle est la différence entre eux?

Était-ce utile?

La solution

InG est l'équivalent générique de In (pour les collections)

Les signatures des méthodes sont les suivantes (seule la surcharge ICollection In est affichée) :

In(string propertyName, ICollection values)

contre.

InG<T>(string propertyName, ICollection<T> values)

En regardant le code source (tronc) de NHibernate, il semble qu'ils copient tous les deux la collection dans un tableau d'objets et l'utilisent à l'avenir, donc je ne pense pas qu'il y ait une différence de performances entre eux.

Personnellement, j'utilise simplement le In one la plupart du temps - c'est plus facile à lire.

Autres conseils

Restriction.In crée définitivement une sous-requête avec les critères que vous transmettez à la méthode .In(), mais vous ne savez pas ce que fait InG().je ne l'ai jamais vu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top