Миграция с NHibernate на Entity Framework 4.1?

Я знаю, что этот вопрос может быть немного опасным, но мне действительно нужно мнение по этому поводу.

У нас есть наша система, это сайт (будет популярный веб-портал, мы используем MVC3) и до того, как я здесь появился, остальные мои коллеги выбрали NHibernate в качестве OR Mapper решения, и они начали писать критериальные запросы и тому подобное...

Сейчас команда ближе к Linq-подходу, поэтому мы пытались писать запросы во встроенном Linq-провайдере... Дело в том, что он ужасно адаптирован - буквально невозможно написать нетривиальный запрос и не получить Not supported exception...

Мы решили, что это последний возможный момент, чтобы изменить наш OR Mapper на что-то более Linq-ориентированное, и мы, поскольку EF4.1 получил ультрадружественную опцию Code First, мы решили, что это то, что нам нужно.

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

Некоторые факты:

  • В нашем проекте около 50 сущностей
  • В Criteria API написано около 160 запросов (все в юнит-тестах)
  • Нам нужна поддержка композитов, наследования и many-many
  • Проект будет вдвое больше, чем сейчас
  • Нас не устраивает производительность нашей базы данных
  • Мы ненавидим то, как мы пишем запросы сейчас!

Итак... миграция - хорошая или плохая идея? Решит ли EF наши проблемы, сделает ли она нас счастливыми или этот шаг будет просто пустой тратой времени?

С уважением

7
задан ŁukaszW.pl 31 May 2011 в 14:13
поделиться