title: Entity Framework - strange issue with multiple foreign keys mapped to the same table
body: <p>I am using EF (Framework 3.5 SP1) and have a simple two table demo set up:</p>
  
  <p>Applicants</p>
  
  <ul>
  <li>applicant-id int</li>
  <li>applicant-pref-lang-coorepondence int (FK to CodeLanguages)</li>
  <li>applicant-pref-lang-exam int (FK to CodeLanguages)</li>
  <li>applicant-pref-lang-interview int (FK to CodeLanguages)</li>
  </ul>
  
  <p>CodeLanguages</p>
  
  <ul>
  <li>code-lang-id int</li>
  <li>code-lang-desc varchar</li>
  </ul>
  
  <p>A CodeLanguage entry can have 0, 1, * Applicants</p>
  
  <p>Each language ref in Applicants must have 1 (and only one) CodeLanguage ref.</p>
  
  <p>Problem:
  When I bring back an Applicant entity (via WCF web service to my WPF-based client), if all three language references (coorespondence, exam, and interview) are all the same, lets say 1000 (english), and then I modify one of them, for example to 1001 (french), then all THREE will be changed to 1001 (french).</p>
  
  <p>Here's the weird part: If all three references are different (lets say coorespondence=english, exam=french, and interview=spanish) and I change one of them - then it behaves as expected and only the one I changed is affected - the others are remain in their original state.</p>
  
  <p>I have spent most of today trying various things such as dropping and recreating associations in the EDMX, recreating the EDMX datamodel - even creating a new database.  None of this worked - I'm beginning to thing the issue is with EF and not my code.</p>
  
  <p>Any ideas? Thanks.</p>