Для составных ключей, конечно, вы не правы, но для первого Как мог фреймворк, такой как Entity Framework, знать, какая строка была обновлена, удалена, но не может идентифицировать строку по первичному ключу,
дажев этих таблицах вы можете иметь точные повторяющиеся строки.
Для первой отметьте этот вопрос