На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Использование NHibernate
    всем привет!

    использовал ли кто-нибудь сабж в средних и больших проектах?
    интересно послушать мнение о простоте\удобстве\адекватности\костылях использования данной технологии;
    если у кого есть опыт - поделитесь пжлст :yes:
      По опыту, ORM всякие используют в небольших и средних проектах. В больших DAL и модель бизнес сущностей обычно делают руками
        в принципе да, именно это я и ожидал услышать
          Использовал. Удобно. Главое можно описать привязку к таблице в отдельном xml файле, хотя можно и аттрибутами. Поддерживает механизмы блокировки данных(оптимистичкская, пессиместическая). Особенно порадовал HQL. Пример выражения:
          ExpandedWrap disabled
            CreateQuery("SELECT Name FROM Position AS this WHERE this.Owner.Id=10")

          Где Position - это класс а Owner - свойство типа User у которого есть свойство Id
          Кеширование извлечённых обьектов есть.
          Поддерживает связи между таблицами.
          Вообщем удобно.
          Граблей сейчас уже и не помню. Вроде были какието мелкие.

          А вообще для .NET по моему самая продвинутая ORM

          Цитата
          По опыту, ORM всякие используют в небольших и средних проектах. В больших DAL и модель бизнес сущностей обычно делают руками

          Кстати, а почему?
          Сообщение отредактировано: zurmansor -
            Цитата zurmansor @
            Кстати, а почему?

            - много факторов.
            Часто структура базы не отвечает модели бизнес сущностей, а плясать под дудку структуры базы не всегда хорошо.
            Часто база содержит уровень API хранимых процедур, а прямой доступ к таблицам через SQL запросы закрыт с точки зрения безопасности
            Часто уровень ХП базы содержит некоторую бизнес-логику и т д
            ну и т д )
              кстати, NHibernate позволяет использовать не прямые запросы к таблицам, а рулить хранимыми процедурами?
                Цитата deil @
                кстати, NHibernate позволяет использовать не прямые запросы к таблицам, а рулить хранимыми процедурами?

                Нет не позволяет. Есть вариант использовать ORM Nettiers, но она ограничена использованием семейства MS SQL Server (в тоже время остались исключительно положительные впечатления от использования), из перспективных разработок, Microsoft Entity Framework, который вероятно после релиза, сможет работать с широким спектром баз данных. В нем работа с хранимыми процедурами поддерживается на уровне провайдеров, но и там имеется ряд других недостатков, которые судя по всему будут устранены уже в версии 2.0 (1.0 находится в стадии CTP)
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0237 ]   [ 16 queries used ]   [ Generated: 28.04.24, 15:48 GMT ]