Ограничения по внешнему ключу не нужно , чтобы иметь успешную реализацию ORM.Я думаю, что для ORM чаще всего пытаются самим управлять такими вещами, а не следовать рекомендациям базы данных.
Лично у меня проблема с этим подходом.Я обычно имею дело с корпоративными базами данных, у которых есть много программ, написанных на разных языках, обращающихся к базе данных.Другие программы просто не собираются удалять строки и каскадировать удаления, вызывая ORM, даже если это возможно.
Некоторые ORM поддерживают «устаревшие» базы данных. Это означает, что ORM можно настроить для работы с базами данных, в которых уже реализованы произвольные ограничения, первичными ключами, имеющими несколько столбцов, а не номер идентификатора для таблицы, каскадными обновлениями и удалениями, ии т. д.
В любом случае база данных принадлежит бизнесу, а не ORM.Поддержка этой идеи также может быть разной.