Мне немного страшно задавать этот вопрос, так как он может начать религиозную войну, поэтому я хочу быть предельно ясным в том, что я ищу. Я ищу причину (причины), почему вы или подпрыгнули так или иначе, а также элементы, которые нужно добавить в мои списки. Я ищу большой билет, большие вещи. Кроме того, элементы, относящиеся к продукту, возможно, если они действительно актуальны. На данный момент я пытаюсь оценить ORM vs Manual, а не продукт A и продукт B.
Преимущества ORM
- Quick to code and low maintenance (in some/most scenarios) - Additional features for "free" (no developer effort)
Преимущества ручной кодировки
- More Efficient (at runtime, maybe not at dev time?) - Less layers of complexity - Most ORMS seem to struggle with being retricted to sprocs only
В интересах полного раскрытия мне действительно не нравится идея "чего-то", выполняющего код в отношении моей базы данных, которую я не могу изменить напрямую, если я сочту нужным, но я могу видеть потенциально массовые преимущества времени разработки ORM.
Вероятно, стоит отметить, что я в мире .Net
[править] (вопрос в Использование ORM или простого SQL?, похоже, отвечает на многие вопросы и усиливает точку зрения о производительности)
Итак, чтобы немного изменить мой вопрос
Есть ли какое-либо встроенное приложение, использующее ORM на ранних стадиях, а затем постепенно замененное с помощью DAL с ручной кодировкой? Каковы были подводные камни этого подхода?
[Дальнейшее редактирование - теперь вдаваясь в суть проблемы] Наличие веб-сайта для выполнения любого SQL-запроса для моей базы данных является страшным. Если весь доступ осуществляется через sprocs, моя база данных живет в приятной, безопасной и удобной изоляции. Использование исключительно sprocs удаляет много, если не все, векторов атаки SQL-инъекций. Любые комментарии по этому поводу?