NHibernate на:Разница между Restriction.In и Restriction.InG

StackOverflow https://stackoverflow.com/questions/31424

  •  09-06-2019
  •  | 
  •  

Вопрос

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

Ограничение.В() или
Ограничение.InG()

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

Это было полезно?

Решение

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

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

In(string propertyName, ICollection values)

против.

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

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

Лично я большую часть времени просто использую In one - его легче читать.

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top