0

안녕하세요 저는 EF의 키에 문제가 있습니다. 다른 클래스 (메시징), buzztimelineitem cantain propertyie (messagid) 및 탐색의 prprtie와 관계 (1 대 다수)가 포함 된 클래스 (timelineitem) (messag), 나는 새로운 timelineitem를 작성하고이 작업을 수행하려고하면conflit key On EntityFramework 코드 firsr

 timeline.BuzzMessageId = listid.BuzzMessageId 

내가 말해 예외가이 테이블 messag와 충돌이며, 나는이 수행하려고 할 때

 timeline.BuzzMessage = list_msg[i]; (list_msg list of messag)  

을 나는 같은 메신저 있지만 다른 messagid 테이블 messag에 새 행을 가지고, 할 수있다. 너는 나에게 이걸로 문제를 말해줘.

+0

예외가 정확히 무엇을? 제공된 'BuzzMessageId' 메시지가 데이터베이스에 존재합니까? – Slauma

+0

예 BuzzMessageId가 데이터베이스에 존재합니다. 문제는 timeline과 같은 맥락에서 list_msg의 msg에 대해 생각하는 것입니다. 어떻게해야하는지 알고 계십니까? 필자는 패턴 저장소와 유닛 f 작업을 사용합니다! 덕분에 – ucef

답변

1
당신은 메시지 테이블에서 작성중인 새 행의 문제를 해결할 수있는 상황에 list_msg[i] 연결을 시도 할 수

:

context.Messages.Attach(list_msg[i]); 
timeline.BuzzMessage = list_msg[i]; 
+0

감사합니다 MR Slauma,하지만 내가 말했듯이, 나는 저장소 패턴을 사용하므로 직접 컨텍스트에 액세스 할 수 없습니다! – ucef

+1

@ucef : 그런 다음 컨텍스트에 액세스 할 수있는 저장소 메소드를 만들고'repo.AttachToMessages (...) '또는 무엇인가를 호출하십시오. – Slauma

+0

미스터 슬라 우마, 나는 그것을 시도합니다! – ucef

관련 문제