powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Рефакторинг DAL
4 сообщений из 4, страница 1 из 1
Рефакторинг DAL
    #35118535
VILNET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, возникла следующая проблема:
1. Имеется некий здоровенный проект, использующий базу Oracle (ну это по сути не важно, я просто описываю конкретную ситуацию) и стандартный .NET Framework Oracle Data Provider.
2. DAL построен с помощью типизированных датасетов, адаптеров (XSD генератор - свой). Кроме того, по всему коду разбросаны OracleConnection, OracleCommand и т.д.
3. Многие исключения, возникающие в OracleCommand, перехватываются не по месту возникновения, а выше по стеку, т.е. непосредственного доступа к OracleCommand нет.

Проблема: необходимо при возникновении OracleException сгенерировать новое исключение, добавив в него необходимую информацию. В данном конкретном случае это тескт запроса и список параметров со значениями.

Путь первый (который мне очень не нравится) - сделать обёртку над OracleCommand (а заодно и над адаптерами), которая позволит мне добавить все необходимые расширения. Но в этом случае придётся отрефакторить вообще весь проект, что не есть гуд.

В общем, я пытаюсь найти решение, которое позволит малой кровью получить требуемый результат. Обращаюсь ко всем, кто может хоть что то предложить по данному сабжу.
...
Рейтинг: 0 / 0
Рефакторинг DAL
    #35120541
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
судя по всему ты хочешь, чтобы текст запроса у тебя внезапно возник из воздуха. Чудес не бывает.
...
Рейтинг: 0 / 0
Рефакторинг DAL
    #35126892
VILNET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
зысудя по всему ты хочешь, чтобы текст запроса у тебя внезапно возник из воздуха. Чудес не бывает.

Ну это как посмотреть:)
Вот, например, опишу один из вариантов. Имеется некая утилитка, которая способна перехватывать все запросы, которые выполняются на Оракле от заданного процесса.
Это на шаг приближает к решению задачи, остаётся проблема сопоставления этой информации с конкретной командой клиента (ну то есть нужно точно знать, что именно эта команда вызвала исключение).
Ну это, оговорюсь, всего лишь вариант, в текущей ситуации он был признан неприемлимым по некоторым причинам.

А вот ещё один вариант для работающих с Framework 3.5 - методы расширения. Мне ещё с 3.5 поработать не удалось, но насколько я успел понять, это как раз может помочь (может и ошибаюсь).

Может для кого то это как раз и есть чудеса из воздуха;)
...
Рейтинг: 0 / 0
Рефакторинг DAL
    #35126982
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VILNET
А вот ещё один вариант для работающих с Framework 3.5 - методы расширения. Мне ещё с 3.5 поработать не удалось, но насколько я успел понять, это как раз может помочь (может и ошибаюсь).

ну вперед, как только родишь это через расширения, и достанешь из воздуха инфу, расскажешь :) кхе-кхе
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Рефакторинг DAL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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