2012-02-13 4 views
1

EF를 처음 접하면서 "데이터베이스 우선"으로 무언가를 시험해보십시오. 내 dB 3 테이블에서 내가 가진EF 데이터베이스 첫 번째 매핑 오류 3025

Error 3025: ... :Must specify mapping for all key properties 
        (PurchaseUsers.PurchaseUsersId) of table PurchaseUsers. 

는 :

Purchases  Participants  PurchaseUsers 
PurchaseId  ParticipantId  PurchaseUsersId 
...    ...     PurchaseId 
            ParticipantID 

PurchaseUsers는 구매를 사용하는 참가자 (들)입니다 (이다) 알고있다.

처음에는 해당 테이블에 PK가 없었지만 Purchase을 저장할 때 다음 오류가 발생했습니다. 조금만 인터넷 검색을 한 후이 오류를 피하기 위해 PK를 추가해야한다는 것을 알았습니다.

Unable to update the EntitySet 'PurchaseUsers' because it has a DefiningQuery 
    and no <InsertFunction> element exists in the <ModificationFunctionMapping> element 
    to support the current operation. 

그러나 PK를 추가하면 매핑 오류가 생성되었으며이를 해결하거나 매핑을 만드는 방법을 알 수 없습니다. 표 PurchaseUsers 자체는 내 .edmx 모델에는 표시되지 않지만 모델 브라우저의 스토어에 표시됩니다.

감사합니다.

UPDATE

는 데이터베이스의 열 오늘날의 이름을 변경. "데이터베이스에서 모델 업데이트"는 모델의 테이블에 새 열 이름을 추가했지만 이전 열 이름은 제거하지 않았습니다. 처음부터 다시 시작해야했습니다. update-function이 제대로 작동하지 않는 것 같습니다.

+0

데이터베이스에 기본 키를 추가 한 후 (디자이너에서) 모델을 업데이트 했습니까? – Pawel

+0

@Pawel 예, 했어요. 그리고 그 순간 나는 3025 오류가 발생합니다. 또한 관계는 DB 수준에서 설정됩니다. 필자의 모델에는 Participants 및 Purchases 테이블간에 mazny-to-many 관계가 있습니다. 그리고 그것은 브리지 테이블이 모델에 없기 때문에 문제가 발생하는 곳이라고 생각합니다. – Koen

+0

이상합니다. 모델을 완전히 삭제하고 처음부터 만들려고 했습니까? 이 창구가 당신을 위해 작동하지 않는 경우 - 최소한의 재현을 게시 할 수 있습니까? – Pawel

답변

1

이상합니다. 데이터베이스에서 모델을 업데이트하면 모델과 데이터베이스가 동기화되어 있어야합니다. 모델을 삭제하고 처음부터 다시 만들어보십시오.

관련 문제