NHIbernate: разница между Restriction.In и Restriction.InG - PullRequest
4 голосов
/ 28 августа 2008

При создании критерия в NHibernate я могу использовать

Restriction.In () или
Restriction.InG ()

В чем разница между ними?

Ответы [ 2 ]

11 голосов
/ 18 сентября 2008

InG - общий эквивалент In (для коллекций)

Подписи методов следующие (показана только перегрузка ICollection In):

In(string propertyName, ICollection values)

против

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

Глядя на исходный код (транк) NHibernate, кажется, что они оба копируют коллекцию в массив объектов и используют ее в дальнейшем, поэтому я не думаю, что между ними есть разница в производительности.

Лично я чаще всего использую In In - его легче читать.

0 голосов
/ 28 августа 2008

Restriction.In определенно создает подзапрос с любыми критериями, которые вы передаете методу .In (), но не уверен, что делает InG (). никогда не видел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...