Примечание: Любой, кто приходит к этому вопросу сейчас, помните дату. Этот вопрос составляет почти 4 года, и информация относительно устарела. По моему опыту, NHibernate теперь относительно прост в использовании (с плавным интерфейсом), Entity Framework является законным соперником, и MicroORMS, такие как Dapper и Massive, становятся довольно популярными.
Мы переписываем одно из наших основных веб-приложений, и я, наконец, получил все от руководства, чтобы заменить ужасную путаницу хранимых процедур структурой ORM для реализации нашего уровня доступа к данным.
Ура для меня. Теперь я должен выбрать один.
Я немного поиграл со следующим
- NHibernate
- Castle ActiveRecord (Мы будем использовать его для питания наших объектов DTO)
- Subsonic
Теперь я знаю, что NHibernate является истинным выбором Alt.Netty, но проблема в том, что я работаю с подрядчиками, которые, насколько мне известно, никогда не слышали об этом, и NHibernate имеет репутацию довольно кривой обучения. Тем временем подзвуковое явление кажется гораздо более простым. Я также знаю о Entities Framework, но я опасаюсь его приема "meh" и Linq to Oracle, но я опасаюсь, что я почти ничего не слышал об этом.
Итак, вопросы:
- Есть ли еще какие-то рамки, которые я должен рассмотреть?
- Что вы рекомендуете для моей ситуации?
Еще несколько соображений:
- Когда я говорю, что я немного играл с этими фреймворками, я имею в виду. Я настроил их и использовал их, чтобы вытащить некоторые данные, чтобы убедиться, что все это работает. Это его степень.
- Это база данных Oracle (как вы могли предположить из включения Linq2Oracle)
- Так как это переписывание, база данных уже существует и имеет стабильную схему
- Я не слишком беспокоюсь о производительности. Наше приложение обычно обслуживает максимум пару человек одновременно.
- Вы, ребята, те, кому придется отвечать на поток вопросов, которые у меня будут.
Я склоняюсь к Subsonic, но мне любопытно, что люди могут сказать.