Я знаю, что этот вопрос может быть немного опасно задавать, но мне действительно нужно некоторое мнение по этому поводу.
У нас есть наша система, это веб-сайт (будет популярным веб-порталом, мы используем MVC3), и, прежде чем я остался здесь, остальные мои коллеги выбрали NHibernate в качестве своего решения OR Mapper, и они начали писать критерии запросов и такие ..
Сейчас команда ближе к подходу Linq, поэтому мы попытались написать запросы во встроенном поставщике Linq ... Дело в том, что ... он ужасно адаптирован - буквально вы не можете написать нетривиальный запрос и не получите Not supported exception
...
Мы решили, что это последний возможный момент, чтобы изменить наш OR Mapper на что-то более основанное на Linq, и мы, так как EF4.1 получили ультрадружественный вариант Code First, решили, что это то, что нам нужно.
Проблема в том, что мне нужно несколько мнений по этому вопросу, стоит потратить время на миграцию с NHibernate на EF4.1 ... Проект продлится не менее одного года в разработке, поэтому у нас много работы, и мы хотим сделать это красиво и без разочарований ..
Некоторые факты:
- В нашем проекте около 50 организаций
- У нас есть около 160 запросов, написанных в Criteria API (все охвачены в модульных тестах)
- Нам нужна поддержка композитов, наследования и многие-многие
- Проект будет в два раза больше, чем сейчас
- Мы не удовлетворены производительностью нашей базы данных
- Мы ненавидим то, как мы пишем запросы прямо сейчас!
Так что ... сейчас ... миграция это хорошая или плохая идея? Решит ли EF наши проблемы, сделает ли это нас счастливыми или этот шаг станет пустой тратой нашего времени?
Привет