Frage

Beim Erstellen eines Kriteriums in NHibernate kann ich es verwenden

Restriction.In() oder
Restriction.InG()

Was ist der Unterschied zwischen ihnen?

War es hilfreich?

Lösung

InG ist das generische Äquivalent von In (für Sammlungen)

Die Signaturen der Methoden lauten wie folgt (nur die ICollection In-Überladung wird angezeigt):

In(string propertyName, ICollection values)

vs.

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

Wenn man sich den Quellcode (Trunk) von NHibernate ansieht, scheint es, dass beide die Sammlung in ein Objektarray kopieren und dieses in Zukunft verwenden, daher glaube ich nicht, dass es einen Leistungsunterschied zwischen ihnen gibt.

Ich persönlich verwende die meiste Zeit nur das In-Format – es ist einfacher zu lesen.

Andere Tipps

Restriction.In erstellt definitiv eine Unterabfrage mit den Kriterien, die Sie an die Methode .In() übergeben, ist sich aber nicht sicher, was InG() tut.habe es noch nie gesehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top