Скажем, мы разрабатываем веб-приложение для электронной коммерции для малого и среднего бизнеса. Пусть далее предположим, что бизнес, вероятно, будет масштабироваться с течением времени. Другими словами, линейка продуктов обычно будет расти.
До сих пор я разработал n-уровневые решения, используя ADO.NET и хранимые процедуры с помощью класса SqlHelper. Для больших приложений я использовал Enterprise Library (2.0).
Я хотел бы перейти к подходу, основанному на ORM, и начинаю изучать LINQ, а также переключаться с ASP.NET Web Forms на ASP.NET MVC. Я не хочу идти с LINQ-to-SQL. Вопрос заключается не в том, требуется ли ORM, но если ORM Framework Entity Framework слишком много для такого проекта. Я не против кривой обучения, если это оправдано для задачи.
Что касается "overkill", я хотел бы знать, если:
- EF быстрее, чем кто-то с правильными запросами кодирования навыков вручную
- EF приводит к ненужному раздуванию кода
- EF неоправданно защищает разработчиков от информации о своих запросах на уровне кода
- LINQ-to-Entities подходит для проектов такого размера
На самом деле, если кто-то думает, что ORM слишком много для такого проекта, я бы хотел узнать причины.