Компания, в которой я работаю, разрабатывает большое приложение, которое почти полностью основано на хранимых процедурах.
Мы используем классические ASP и SQL Server, и основная часть бизнес-логики содержится в этих хранимых процедурах.
Например, (я знаю, это плохо ...) одну хранимую процедуру можно использовать для разных целей (вставка, обновление, удаление, выполнение некоторых вычислений, ...).Большую часть времени хранимая процедура используется для операций над связанными таблицами, но это не всегда так.
Мы планируем перейти на ASP.NET (WebForms) в ближайшем будущем.
Я прочитал много сообщений в StackOverflow, в которых рекомендую перенести бизнес-логику за пределы базы данных.Дело в том, что я пытался убедить людей, которые принимают решения в нашей компании, и я ничего не могу сделать, чтобы изменить их мнение .
Поскольку я хочу иметь возможность использоватьПреимущества объектно-ориентированного программирования, я хочу сопоставить таблицы с реальными классами.Пока что мое решение состоит в том, чтобы использовать ORM (Entity Framework 4 или nHibernate), чтобы избежать сопоставления объектов вручную (в основном для извлечения данных), и использовать какой-либо уровень доступа к данным для вызова существующих хранимых процедур (для сохранения).
Мне нужен ваш совет по этому поводу.Как вы думаете, это хорошее решение?Любые идеи?
Редактировать: Должен ли я просто пойти со стандартным подходом DataTable / DataRow?