2012-05-24 5 views
0

많은 EF 내가 가지고있는 다음과 같은 데이터베이스 테이블 :많은 소재 기존 객체

문서 (결코 추가되지) 나라 DocumentLanguage

DocumentLanguage이 나라 만 ID의를 포함하는 문서 사이의 링크 테이블입니다. 엔티티 디자이너 (올바르게)가이 탐색 속성을 추가합니다.

public void IdentifyLanguages(List<Country> languages) 
    { 
     foreach (Country c in languages) 
     { 
      foreach (var languageIdentifier in c.LanguageIdentifiers) 
      { 
       if (document.DocumentText.ToLower().Contains(languageIdentifier.LanguageIdentifier1.ToLower())) 
       {      
        document.Countries.Add(c); 
        break; 
       } 

      } 
     } 
    } 

을 나중에 객체 저장 :

context.Document.AddObject(_document); 
context.SaveChanges(); 

을 그리고 난 다음 오류 얻을 : 다음과 같이

내 코드는

가 EntityKey 속성 만 설정할 수 있습니다 때 특성의 현재 값은 널입니다.

아마도 매우 명백한 해결 방법이 있습니다. 스텁 개체를 사용하여 첨부를 시도했지만 거기에 간단한 해결책이 있어야합니다. 나는이 요구 사항을 가진 사람이 아닐 것입니다.

답변

0

AddObject를 사용하여 개체를 저장하면 문서가 데이터베이스에 이미 있습니까? AddObject는 새로운 객체를 추가하기위한 것일뿐입니다. 기존 객체를 업데이트하지 않습니다.

+0

추가 할 때 IdentifyLanguages ​​()에 대한 호출을 제거하면 문제가되는 언어가 추가됩니다. – Ketchup

관련 문제