Это отдельный сценарий. Если вы хотите сохранить изменения в сущностях и отношениях, вы должны сказать EF, какие изменения были выполнены. EF не знает об этом и не выполняет никакой автоматической синхронизации с состоянием в базе данных. Эта проблема также известна как работа с отдельными объектными графами, и, на мой взгляд, это самая большая сложность в структуре сущностей (и, возможно, ORM в глобальном масштабе). Я ответил на подобный вопрос , и вы также можете найти связанный вопрос здесь .
Общий ответ: вы должны знать, какие отношения были созданы или удалены, и вы должны вручную установить либо состояние связанного объекта (в случае один-к-одному или один-ко-многим), либо состояние отношения (в случае много- слишком много). Сложность еще хуже, если у вас есть многие ко многим, и вы можете создать отношение к существующим объектам, создать новые связанные объекты или удалить существующие связанные объекты в одном запросе.
Мой общий совет - использовать менее элегантный, но гораздо более простой подход: загрузите свой граф сущностей из базы данных и объедините поступающие изменения в прикрепленный граф.