Не уверен, но я думаю, что то, что вы называете 1: 1, на самом деле воспринимается DBML как 1: *, потому что список может «содержать» многие из ваших fk-таблиц, например, один empley oyee может иметь один город, но в каждом городе может быть «много» сотрудников.
AFAIK первичный ключ в каждой таблице является предварительным условием, без которого DBML не будет «работать». При сохранении выдается ошибка. Ваш проект скомпилируется, но вы увидите ошибки позже. НТН