powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ORM для Oracle с хорошей поддержкой хранимых процедур
6 сообщений из 6, страница 1 из 1
ORM для Oracle с хорошей поддержкой хранимых процедур
    #39429053
Тройка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день. Есть старый проект на Delphi 7, который работает с базой Oracle и очень активно использует его хранимые процедуры. Хочу переписать его под C# именно с использованием ORM. И соответственно встал вопрос, как быть с вызовом хранимок через ORM.
Особенно интересует вызов функций, которые возвращают курсор с данными (ну или процедур с out параметром типа SYS_REFCURSOR, бывает и такая реализация). Интересно, что бы в этом случае ORM возвращала типизированный результат.
Для MS SQL пробовал Entity Framework 6, и он работает именно так, создавая сущность [function_name]Result
А вот с Oracle в этом плане беда. EF в дизайнере модели вообще не видит хранимок. При этом с обычными таблицами все работает. Пробовал Devart Entity Developer который даже платный. Он их видит, но, по сути, нормально использовать не может: типизированные результаты не создает да и вообще делает неправильные вызовы.
Самое интересное, что ODAC компоненты Delphi для доступа к Oracle в этом плане просто супер. Передаешь имя хранимки и они сами генерят ее корректный вызов. Никогда не было с этим проблем, даже не задумывался. И при возврате данных в SYS_REFCURSOR тоже всегда вытягивает столбцы в свое Query в дизайнтайме, делая ее типизированной. При том, что думаю ODAC этому уже лет 10.
Не уж-то под C# сейчас не найдется ничего подобного? Может кто работал, подскажите.
...
Рейтинг: 0 / 0
ORM для Oracle с хорошей поддержкой хранимых процедур
    #39429122
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тройка,

Зачем ORM и хранимые процедуры (активное использование)? ORM не может гарантировать целостность данных, которые он загрёб, если выполняются какие-то процедуры, значит преимущества ORM накрываются медным тазом.

Попробуй Dapper. Или linq2db. В общем, полноценный ORM тебе не нужен. Тебе нужен простой маппер из сфетченных таблиц коллекции классов. Ну и SQL руками. Забудь про дизайнер. Вообще слово "дизайнер" из лексикона можно убрать. Только хард код.
...
Рейтинг: 0 / 0
ORM для Oracle с хорошей поддержкой хранимых процедур
    #39429128
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТройкаСамое интересное, что ODAC компоненты Delphi для доступа к Oracle в этом плане просто супер. Передаешь имя хранимки и они сами генерят ее корректный вызов. Никогда не было с этим проблем, даже не задумывался. И при возврате данных в SYS_REFCURSOR тоже всегда вытягивает столбцы в свое Query в дизайнтайме, делая ее типизированной. При том, что думаю ODAC этому уже лет 10.

Разработчики того времени базировались на предположении, что визуальный редактор для построения приложений это гуд. И что таблицы не будут меняться. И что вообще всё будет шоколадно и в розовом цвете, кладёшь себе мышкой на форму копонентики, а там оно "фсё само".

Сегодня это не так. Оказалось, что прощё и быстрее писать код. Поэтому всё это стало не нужно.

Тем более надо учитывать изначально, что ORM и активное использование хранимок это два противоречивых подхода. Если это будет чисто CRUD-процедуры, которые маппятся на CRUD-действия, и не имееют побочных эффектов, это ещё куда ни шло, с огромной натяжкой, это можно использовать в EF. Но в целом, надо выбирать, тебе или шашечки, или ехать.
...
Рейтинг: 0 / 0
ORM для Oracle с хорошей поддержкой хранимых процедур
    #39429135
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тройка,

В общем про дизайн тайм забудь. Он не популярен у разработчиков. Он не имеет большого смысла, от него больше вреда чем пользы. Научись писать код и работать с кодом, потому что дизайнеры это тухляк и тупиковый путь.
...
Рейтинг: 0 / 0
ORM для Oracle с хорошей поддержкой хранимых процедур
    #39429184
Тройка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЗачем ORM и хранимые процедуры (активное использование)? ORM не может гарантировать целостность данных, которые он загрёб, если выполняются какие-то процедуры, значит преимущества ORM накрываются медным тазом.
Разработчики того времени базировались на предположении, что визуальный редактор для построения приложений это гуд. И что таблицы не будут меняться. И что вообще всё будет шоколадно и в розовом цвете, кладёшь себе мышкой на форму копонентики, а там оно "фсё само".
Сегодня это не так. Оказалось, что прощё и быстрее писать код. Поэтому всё это стало не нужно.
код.
Спасибо за разъяснения и краткий экскурс в историю. Ушел думать...
...
Рейтинг: 0 / 0
ORM для Oracle с хорошей поддержкой хранимых процедур
    #39429631
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТройкаhVosttЗачем ORM и хранимые процедуры (активное использование)? ORM не может гарантировать целостность данных, которые он загрёб, если выполняются какие-то процедуры, значит преимущества ORM накрываются медным тазом.
Разработчики того времени базировались на предположении, что визуальный редактор для построения приложений это гуд. И что таблицы не будут меняться. И что вообще всё будет шоколадно и в розовом цвете, кладёшь себе мышкой на форму копонентики, а там оно "фсё само".
Сегодня это не так. Оказалось, что прощё и быстрее писать код. Поэтому всё это стало не нужно.
код.
Спасибо за разъяснения и краткий экскурс в историю. Ушел думать...Тут можно добавить, что многие задачи по автоматизации рутины, решаемые "раньше" дизайнером, "теперь" решаются кодогенерацией. Рекомендую ознакомиться с T4 Text Template или аналогичными инструментами.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ORM для Oracle с хорошей поддержкой хранимых процедур
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]