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