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 не вызывается.