If you are fluent in C# and are willing to put up with the license cost, you should go with ASP.Net MVC.
Regarding ORM, NHibernate isn't working for you? I haven't used it personally but have heard good things about it.
If you have time to evaluate, you can try building a mini app with Rails and/or Django before deciding. I recommend "Rails 3 tutorial" and Django book for learning Rails or Django. The Rails 3 tutorial builds a small twitterish app. Django book doesn't have a cohesive apps built in the book but the examples are all real world.
Migrations aren't a particularly solved problem in .NET imo. (Bad previous experience with nhibernate and migrations of our team member made us skip it)
Currently, we are using MigratorDotNet (it meant writing sql to define Up and Down manually). We ended up with a custom implementation for doing the orm. (battle scars and hence the above question)
Yes, I do understand the impedance mismatch for true orm mapping but I sincerely hope to avoid "doing this by hand" until absolutely necessary.
Regarding ORM, NHibernate isn't working for you? I haven't used it personally but have heard good things about it.
If you have time to evaluate, you can try building a mini app with Rails and/or Django before deciding. I recommend "Rails 3 tutorial" and Django book for learning Rails or Django. The Rails 3 tutorial builds a small twitterish app. Django book doesn't have a cohesive apps built in the book but the examples are all real world.