Что вы думаете о замке ActiveRecord? - PullRequest
3 голосов
/ 05 февраля 2009

Мне нужен .Net ORM, и я услышал кое-что хорошее об этом. В прошлом я запускал NHibernate, но это, кажется, облегчает многие вещи.

Однако две вещи заставили меня немного нервничать.

  1. Он использует NHibernate 1.2, который кажется старым
  2. Это все еще RC с последним релизом 18 месяцев назад

Кто-нибудь использует его и рекомендует ли он для производственной среды? Он все еще находится в активной разработке?

В частности, стоит ли использовать ActiveRecord поверх простого NHibernate?

Ответы [ 3 ]

7 голосов
/ 05 февраля 2009

Да, стоит использовать ActiveRecord поверх простого NHibernate, поскольку это значительно упрощает настройку.

2 голосов
/ 12 марта 2009

У них есть ночные сборки Касла, которые скомпилированы по NHibernate 2.0 или даже 2.1, как мне кажется. Мало кто использует RC3, и я полагаю, что скоро ожидается релиз GA.

Однако, несмотря на то, что ActiveRecord значительно упрощает настройку, а также упрощает использование NHibernate даже при запросах и т. Д., Я обнаружил, что большую часть времени я все еще прибегаю к использованию логики NHibernate в коде, поэтому не пользуюсь из других аспектов ActiveRecord (особенно, когда речь идет о кеше 2-го уровня и т. д., который не поддерживается afaik ActiveRecord). Даже HQL и т. Д. Требуют, чтобы в моем опыте использовалась простая NHibernate-логика.

Поэтому, возможно, стоит использовать прямой NHibernate и пропустить часть ActiveRecord, если только вы не создаете довольно простое приложение, где настройка производительности действительно не представляет проблемы, поскольку у вас есть различные другие параметры конфигурации для XML в настоящее время.

2 голосов
/ 05 февраля 2009

Это нарушает управляемый доменом дизайн, поскольку вынуждает вас добавлять атрибуты к вашим доменным объектам и использовать через них активный шаблон записи, который в идеале должен оставаться простым POCO. Возвышение доменного дизайна по сравнению с классическим 3-уровневым дизайном означает, что это не может быть хорошей библиотекой, с которой нужно знакомиться в долгосрочной перспективе (возможно, перейдите прямо к nhibernate). С другой стороны, это отличная и надежная библиотека для использования, и проект, в котором я ее использовал, имел успех.

...