K. Я думаю, что нашел причину такого рода проблем. У меня есть ситуация со многими ко многим в моей диаграмме EF (таблица Scholarhip, таблица Survey, таблица ScholarshipSurvey {это таблица мостов}). Ну, после некоторого серьезного поиска души я нашел это в своей записи таблицы ScholarshipSurvey в EDMX:
<EntityType Name="ScholarshipSurvey">
<Key>
<PropertyRef Name="ScholarshipID" />
<PropertyRef Name="SurveyID" />
</Key>
<Property Name="ScholarshipID" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
<Property Name="SurveyID" Type="int" Nullable="false" StoreGeneratedPattern="Identity"/>
</EntityType>
Я думал, ни за что! Почему EF сделал эти "тождества". Их нет в модели данных, откуда пришли. Поэтому, когда я открыл EDMX с помощью редактора XML (вместо двойного щелчка по умолчанию), я удалил запись StoreGeneratedPattern = "Identity" для идентификатора стипендии и идентификатора опроса. Затем я попробовал свой обычный код для добавления элементов в коллекцию и удаления элементов из коллекции, и он РАБОТАЛ!
Все, что я могу думать, это то, что это ошибка в EF4, которой не должно было быть. Единственный другой способ решить эту проблему - сделать таблицу мостов объектом, добавив в нее свою личность. Gee. Надеюсь, что это поможет бедной душе там.
Обновление (rwwilden): для этой проблемы существует отчет Microsoft Connect .