I am aware that this question may be a little bit dangerous to ask, but I really need some opinion with this.
We've got our system, it's an website (will be popular web portal, we use MVC3) and before I was here rest of my co-woorkers chose NHibernate as their OR Mapper solution, and they started to write criteria queries and such..
Right now the team is closer to Linq approach, so we tried to wrote queries in built-in Linq provider.. The thing is.. it's horribly adapted - literally you cannot write non-trivial query and do not get Not supported exception
...
We decided that it's the last possible moment, to change our OR Mapper to something more Linq-based and we since the EF4.1 got ultrafriendly Code First option, we are decided that this is what we need.
The problem that I need some opinions on it is worth the time to migrate from NHibernate to EF4.1... The project will last at least one year further in development, so we have a lot of work to do, and we want to do it in nice and non-frustrating way..
Some facts:
- We have about 50 entities in our project
- We have about 160 queries written in Criteria API (all covered in unit tests)
- We need to have composite, inheritance and many-many support
- The project will be twice as big as it is now
- We are not satisfied with our database performance
- We hate the way that we write queries right now!
So.. now.. is migration a good or bad idea? Will EF resolve our problems, will it make us happy or that step will be just the waste of our time?
Regards