Недавно я столкнулся с этой проблемой при использовании linq to sql, мои классы были созданы с использованием sqlmetal и отображены с использованием привязок WPF.
При отображении списка значений из таблицы, с которой у меня была ссылка на внешний ключ, я устанавливал SelectedValuePath в качестве идентификатора. Однако, когда Id был обновлен в моей записи, связанный член не был обновлен в соответствии со значением Id.
(Address.provID будет 1, а Address.Province будет нулевым)
Я обновил привязку, чтобы обновить SelectedItem, а не SelectedValuePath.
<ComboBox Name="provList" DisplayMemberPath="Code" ItemsSource="{Binding Source={x:Static list:GlobalList.ProvinceList}}" SelectedItem="{Binding Path=Provinces}" Width="75" Height="23" HorizontalAlignment="Left" Margin="5,0,0,0" VerticalAlignment="Top"/>