Внешние ключи дают вам некоторую информацию о схеме, даже если она не применяется. Также во время разработки может быть удобно не получать ошибки целостности при обновлении базы данных. В документации сказано, что это по соображениям производительности, но я действительно не уверен в этом.
В любом случае, вы можете указать CodeFluent Entities проверять ограничение, установив defaultPersistenceEnforce="true"
в проекте
<cf:project defaultPersistenceEnforce="true">
Из документации
Примечание. По умолчанию ссылочная целостность не применяется по соображениям производительности. Однако можно включить принудительное применение отношений глобально, установив для атрибута defaultPersistenceEnforce узла проекта значение true.
Также возможно навязать определенные отношения вместо всего проекта. Это можно сделать, указав атрибут persistenceEnforce
в значении true в свойстве отношения.