При использовании ORM, например EF или NHibernate , вам всегда приходится идти на компромисс между производительностью и удобством.Если вы можете жить с относительно плохой производительностью (я думаю, что ваш сайт может быть запущен с ORM) NHibernate, если вы выберете ваш первый выбор, с моей точки зрения, он более зрелый, в то время как EF все еще не хватает поддержки провайдера и у него есть некоторыенедостатки в отношении рабочего процесса develevopment (который вы, вероятно, ожидаете при использовании NHibernate, но не при использовании инструмента MS).
Если вы переключаетесь с PHP на .NET, вам следует подумать о переходе с MySQL на MSSQL только потому, что онидеально вписывается в экосистему MS (и производительность / масштабируемость также должны быть улучшены, это может перевесить снижение производительности, которое вы испытываете при использовании ERM).
Вы также можете взглянуть на LINQ, который может быть альтернативоймежду классической ORM и жестко запрограммированными командами SQL (также в отношении производительности LINQ to SQL довольно быстро , и вы также можете использовать LINQ to Entitiy Framework при использовании EF (это довольно медленно)).LINQ будет соответствовать вашим потребностям, если вы хотите некоторый уровень абстракции без необходимости бесконечной конфигурации и если вам нравится RAD (а кому нет?).
В целом производительность ASP.NET MVC3 довольно хорошая,но вы должны знать, что вам нужен опыт, чтобы настроить приложение и избежать (распространенных) ошибок.Короче говоря, вы должны легко написать приложение ASP.NET, которое будет иметь лучшую производительность, чем PHP-страница со скриптом (по замыслу)
Но вы также должны знать, решите ли вы взять на себя обязательствадля экосистемы MS (.NET, MSSQL w / LINQ / EF) ее сложно выделить, и поставщики для LINQ и EF для СУБД не-MS могут стоить несколько долларов (см. www.devart.com ).
Надеюсь, что это дает вам некоторые рекомендации
Дополнительная информация: