AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.04.2004, 19:39   #1  
death machine is offline
death machine
Участник
 
12 / 10 (1) +
Регистрация: 24.03.2004
? Cascade + Resrict = ?
Добрый день
Пожалуйста, разъясните (если можно, на примере), чем Cascade отличается от Cascade+Resctrict. Из того, что написано в доке, я не смог найти отличий. Думал, что в SQL Server BOL есть, но в SQL Server только Restrict и Cascade по отдельности.
Старый 21.04.2004, 20:03   #2  
DMA is offline
DMA
Участник
 
109 / 19 (1) ++
Регистрация: 30.09.2003
в случае Cascade связанные записи будут удалены молча, в случае Cascade+Resricted аксапта попросит подтвердить их удаление
Старый 21.04.2004, 20:57   #3  
death machine is offline
death machine
Участник
 
12 / 10 (1) +
Регистрация: 24.03.2004
Большое спасибо за разъяснение.
Старый 23.04.2004, 11:49   #4  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
DMA, это не так. Для стандартного интерфейса (без перекрытия метода validateDelete()) Cascade + Restricted равносильно Restricted.

Вообще, разные виды DeleteAction проявляются в различном поведении методов validateDelete и delete.
  • None
    validateDelete не проверяет связи. delete удаляет только запись в основной таблице.
  • Cascade
    validateDelete не проверяет связи. delete удаляет запись в основной таблице и записи в подчиненной таблице.
  • Restricted
    validateDelete проверяет свзязи (если есть связанные записи, он возвращает false). delete удаляет только запись в основной таблице.
  • Cascade + Restricted
    validateDelete проверяет связи. delete удаляет запись в основной таблице и записи в подчиненной таблице.

Если запись удаляется из формы, и методы validateDelete и delete у DataSource и у таблицы не переопределены, то Cascade + Restricted будет равносильно Restricted, так как ядро всегда сначала вызывает метод validateDelete, и если он возвращает false, выдается предупреждение в infolog и метод delete не вызывается.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
За это сообщение автора поблагодарили: d_alexe (1).
Старый 23.04.2004, 12:13   #5  
DMA is offline
DMA
Участник
 
109 / 19 (1) ++
Регистрация: 30.09.2003
Согласен, Максим. Погорячился я.
Cascade+Restricted работает только совместно с обработкой validateDelete(), где собственно обычно и запрашивается подтверждение намерений удалить запись основной таблицы вместе со связанными.
Старый 23.04.2004, 19:42   #6  
Ю-ю is offline
Ю-ю
Участник
 
23 / 10 (1) +
Регистрация: 23.04.2004
Адрес: Москва
В случае если удаление вызывется из пользовательского интерфейса (в том числе обозревателя таблиц), то работает как Restrct, если удаление вызывается из методов, то работает как Cascade.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Security key + DeleteActions Cascade, Ax 3.0 SP4 Shakr DAX: Программирование 1 05.08.2008 19:28

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:59.