| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Базы данных под .NET > Правило удаления связанных полей одной таблицы |
| Автор: -Mikle- 8.5.2009, 11:24 |
| В продолжение предыдущей моей темы... Есть таблица Category (ID PRIMARY IDENTITY(1,1) NOT NULL, ParentID NULL, Title) У нее есть связь с другой таблицей по ID. У этой связи я использую правило удаления "Каскадом". То есть удаляя запись из Category, удаляются все записи из связанной таблицы. Это работает. Еще у таблицы есть связь с самой собой с полем ParentID. Но я не могу создать для этой связи никакое правило. Management Studio у меня слетел и не хочет переустанавливаться, поэтому я использую сейчас встроенные в VS средства. Там нельзя выполнить SQL запрос ALTER, но можно соответствующее правило задать через UI. Так вот это свойство (где задается правило), для этой связи, не доступно. Видимо потому что что-то не так. Я просто хочу чтоб удалаяя одну категорию, удалялись бы все ее подкатегории всех уровней вложенности. Не хотелось бы рекурсивным циклом это делать. Использую, на клиентской стороне EF. Может быть его как-то можно настроить? Добавлено через 2 минуты и 34 секунды Чувствую что щас придет PashaPash и наколдует |
| Автор: -Mikle- 9.5.2009, 08:41 | ||
Попробовал сделать тригер на удаление
Тригер срабатывает (я пробовал другое тело для проверки) но удалять не хочет. Если удалять запись запросом, то ошибка что "ограничение same table reference". Это из-за того, что у записи есть связанные потомки. Вот если бы можно было тригер запустить до физического удаления записи, то есть сначала удалить потомков, а потом саму запись. Или временно отключить ограничение. В общем вопрос пока не решен. |