Ну, это зависит.
Прежде всего, сначала вы используете модель, базу данных или код сначала?
В модели сначала вы генерируете модель через EDMXа затем позвольте ему создать БД для вас.Пока есть отношения между этими двумя объектами, внешний ключ будет сгенерирован, и у вас будет ожидаемое поведение.
В базе данных сначала почти то же самое, но вы сначала создаете базу данных (с внешнимключи и все остальное), а затем извлечь модель EDMX из него.Опять же, если база данных структурирована правильно, проблем нет.
В Code First вы создаете свои объекты POCO, как вы описали (в любом случае), а затем настраиваете отношения через свободный интерфейс.Если вы настроите его правильно, сгенерированная база данных будет иметь правильные внешние ключи и снова ожидаемый сценарий.