ORM лучше всего подходят для отображения объектов в таблицы (и / или представления), а не для отображения объектов в sprocs.
Очень немногие инструменты могут выполнять автоматическую генерацию кода на основе любого вывода, который может генерировать sproc, в зависимости от сложностииз sproc.Гораздо проще сделать код для создания входных данных для sproc, поскольку он, как правило, четко определен и понятен.
Я бы сказал, что если вы застряли в sprocs, ваши варианты использования стороннего кода помогут сократить ваши затраты.время разработки и сопровождения строго ограничено.
Я считаю, что LinqToSql или EntityFramework (или оба?) способны к некоторому волшебству в отношении SQL Server, чтобы попытаться в основном автоматически выяснить, что может возвращать sproc.Я не думаю, что это работает постоянно, это просто сложная догадка, и я серьезно сомневаюсь, что это будет работать с Oracle.Мне ничего не известно о программном обеспечении, которое даже пытается выяснить, что может вернуть спрок.
Спрок может вернуть несколько различных наборов записей, которые могут динамически создаваться спроком в зависимости от входных данных и данных.в базе данных.Техническое решение для автоматического прогнозирования выходных данных sproc, похоже, потребовало бы следующего:
- Статический набор базовых данных в базе данных
- Возможность передавать все возможные входные данные в sprocи выполнить sproc без какого-либо отрицательного воздействия или побочных эффектов
Это даст вам статический набор возможных выходных данных для любого заданного действительного ввода.Небольшое изменение данных в базе данных может сделать все недействительным.
Если я правильно помню, волшебство, которое сделала Microsoft, было похоже на вызов sproc, передающий NULL для всех входных параметров, и предполагая, что выходные данные всегда являются первым набором записей.это возвращается из базы данных.Это явно неполное решение проблемы, но в простых случаях оно кажется волшебным, потому что иногда оно может очень хорошо работать.