Стабилен ли встроенный поставщик Linq от NHibernate 3.0? - PullRequest
1 голос
/ 23 декабря 2010

Могу ли я зависеть от встроенного поставщика Linq NHibernate 3.0 для выполнения сложных запросов, содержащих агрегатные функции, такие как Max и Min, и содержащие строковые операции, такие как Contains, StartsWith или EndsWith ??

Ответы [ 3 ]

2 голосов
/ 29 декабря 2010

Заметные проблемы, которые я обнаружил:

  1. .OfType () метод не реализован, что может быть проблемой с иерархиями наследования.
  2. Левые соединения не поддерживаются
  3. Нетривиальная группировка по операциям не работает (даже такая простая вещь, как сортировка по количеству групп).
  4. Fetch () должен быть последним методом в запросе, который может затруднить разбиение на страницы со связанными коллекциями.

Тем не менее, это определенно улучшение от поставщика NHContrib.

Перечисленные вами операции прекрасно поддерживаются в обычных сценариях.

1 голос
/ 23 декабря 2010

Поставщик LINQ гораздо более стабилен и продвинут, чем тот, который написал Ayende. (не отрицаю, что он написал это из-за того, что он написал, что я снова поднял NH)

Я думаю, что единственная проблема, с которой я столкнулся с NH Query - это составные типы. Вы можете сделать это в EF / L2S, и NH3, кажется, генерирует правильный sql, но не может его выполнить.

Лично мне нравится QueryOver, мне он читается лучше.

1 голос
/ 23 декабря 2010

В списке nhusers было много споров, так как осталось еще немало вопросов.

Я бы посмотрел на группу nhusers и прочитайте некоторые из постов и сделайте свой собственный разум. Смотрите здесь для сообщений .

Лично я обнаружил, что queryover делает все, что мне нужно, поэтому я, например, подожду, пока провайдер Linq не станет более стабильным со временем.

Я бы рекомендовал присоединиться к группе nhusers, чтобы почувствовать себя лучше.

...