![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: нет Всего: 40 |
как двигаются поршни нет, а вот как подходят провода и шланги, мне видеть не страшно. != |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 2 Всего: 306 |
||||
|
||||
| IGV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 1.4.2008 Репутация: нет Всего: 2 |
||||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 2 Всего: 306 |
||||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Ну вот серьёзно - как мы вызываем какие-то запросы? Не создаём же дб-комманды каждый раз (непосредственно)?! Так или иначе, для нас это будет выглядить как dbContext.GetSomeEntities(param1, param2, param3). Следовательно напрашиваются два подхода: либо пишем методы и маппим их атрибутами, либо методы генерится чем-либо (второе, очевидно проще с точки зрения реалзиации, если не устраивают готовые решения). В первом случае запрос/имя хранимки очевидно будут параметрами атрибута (примеры: раз, два). Во втором - будет хранится в каком-то конфиге, а затем будет подставлено в код генератором. Всё. Смысл хранить во внешнем конфиге можно придумать только один - у нас одну задачу могут решать несколько запросов и мы будем их переключать конфигом. Тем не менее тяжело назвать это удачным арихектурным решением (хотя универсального ответа нет - мало ли..). |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 2 Всего: 306 |
конфиг я предложил только из-за учитывая что есть достаточно удобный функционал - поковырять можно. сам я для таких целей конфиг никогда не использовал. и сомневаюсь, что буду. я так же не считаю хорошей идеей хранить запросы где то вне. по мне самый оптимальный вариант - это хранимые процедуры, второе место - если уж реализовывать на запросах (определенно параметризованных) - хранить в коде. для меня это просто и отработано. |
|||
|
||||
| gambit |
|
||||||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: нет Всего: 40 |
Так, стоп. Давайте разберемся, кто тупит.
Топик стартер задал вопрос про хранение sql процедур. Хранить их естественно надо в классе ресурсов (и это не обязательно resx, это может быть любой класс), но из строк:
Я пришел к выводу, о паранои ТС, и к тому, что он пытается скрыться от рефлектора и пр. Если моя исходная теория верна, то ТС, что то сдулся фразой:
Собирался скрываться, и тут бах решил все таки выложить. Если же, скрываться от рефлектора небыло желания, то мои фразы в стиле: естественно бред. Но тогда не понятно вообще в чем вопрос, какая разница, где внутри программы хранить их код? Каждый решает сам. Лично я обычно стараюсь на слое с бизнес логикой, сделать некий класс, в котором содержаться методы работы с базой, например:
|
||||||
|
|||||||
| IGV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 1.4.2008 Репутация: нет Всего: 2 |
я слово злоумышленник не просто так взял в кавычки, типичное недопонимание. Это был сарказм.
Скрываться от рефлектора желания не было. хотелось узнать кто как делает, может услышать дельные советы на эту тему.
вариант принят. Это сообщение отредактировал(а) IGV - 18.8.2010, 14:38 |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Ну, с точки зрения классических абстракшен лейеров - это неверно. Слой бизнес-догики должен думать о бизнес-сущностях. О том, как посылать команды, работать с базной конекцией и т. д. "думает" слой доступа к данным (data access layer). |
|||
|
||||
| gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: нет Всего: 40 |
Любитель, согласен. Честно, вчера написал, перечитал - отправил. Сейчас прочитал твой топик, понял что написал бред. Хотя сделано верно, видимо путаюсь в терминалогии((((
|
|||
|
||||
| ДобренькийПапаша |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
Я использовал тупо хранимки и написал оболочку для вызовов хранимок вот так:
Вызовы выглядят так (тут есть недостаток в приведении к SqlDataReader), для меня это удобно было:
-------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
||||
|
|||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 2 Всего: 306 |
ДобренькийПапаша, одно но - не все БД поддерживают хранимые процедуры
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |