2010-11-03 4 views
0

Я создаю какую-то систему содержания.проблема дизайна с хранимыми процедурами

В любом случае у меня есть база данных с 3 таблицами позволяет говорить о новостях и других статьях и статьях.

Теперь я хочу сделать службу, которая резервирует только те статьи, которые собираются отредактировать. в любом случае я хочу всю логику в asp.net, а не в самой базе данных.

в любом случае моя проблема начинается здесь: хранимые процедуры, я есть, что вставляет новые статьи, которые я хочу использовать вставляет эти статьи к столу tbl_articles и теперь я хочу использовать мой Промишленое слой, который использует мой слой данных, который вызывает, что хранимую процедуру для вставки резервных копий в таблицу под названием tbl_articles_backup

теперь я вижу, что у меня проблема с дизайном ... может быть, если бы я подумал об этой функции в прошлом, когда я начал, я бы использовал что-то вроде linq или что-то подобное в моем слое данных.

сейчас мой вопрос: что я могу сделать в oreder, чтобы получить лучший дизайн, я могу, не меняя всю программу. Я не хочу дублировать одну и ту же хранимую процедуру .. и я не хочу просто перегружать методы в слое buisness и уровне данных.

любые идеи? .. какой у меня лучший вариант?

благодаря

+1

Это просто для архивирования данных оригинальных версий отредактированных статей? Если это так, это звучит как задание для триггера, unsexy, как это может быть. –

+0

i спасибо за комментарий. будет более сложным, чем то, что ... Мне нужна резервная копия только что изменившегося материала в текущий день. У меня есть служба, которая синхронизирует среду, где pepole редактирует статьи, сохраняя день. к окружающей среде производства я хочу сделать резервное seervice работать непосредственно перед службой синхронизации. поэтому у больного есть резервная копия вещей, которые меняют. –

ответ

0

"в любом случае я хочу всю логику в asp.net, а не в самой базе данных.

...

, Что мой лучший вариант?"

Ну, если вы уже решили, что хотите, чтобы ваша логика находилась за пределами базы данных, то любые «параметры», которые вы запрашиваете, являются просто параметрами asp.net и определенно не параметрами базы данных/dbms, и вам было лучше удалите теги из базы данных.

1

Я думаю, что триггер - ваш лучший выбор. В любое время, когда таблица обновляется, она может вставить одну и ту же строку в вашу таблицу резервного копирования. Это автоматическое и гарантированное выполнение во время транзакций.

Это не так уж сложно. В конце, если вы напишете свою логику в VB или SQL, вам все равно придется изучать команды LINQ или SQL. Я лично рекомендую попытаться сохранить логику базы данных в базе данных и упростить сторону asp.net.

Если вы дадите нам копию вставки SP, я могу показать вам, как написать триггер обновления.

Смежные вопросы