2

내가 지금 나는 데이터베이스에서 모델을 업데이트하고 그 후이 오류가있어,하는 ASP.NET MVC4 응용 프로그램 (데이터베이스 첫 번째 방법)을 개발하고 있어요 :매핑 조각 엔티티 프레임 워크 오류

Problem in mapping fragments starting at line 1106:Potential runtime violation of table Trn_BenchProficiency's keys (Trn_BenchProficiency.BenchNumber): Columns (Trn_BenchProficiency.BenchNumber) are mapped to EntitySet Trn_BenchProficiency's properties (Trn_BenchProficiency.BenchNumber) on the conceptual side but they do not form the EntitySet's key properties (Trn_BenchProficiency.AssessedDate, Trn_BenchProficiency.BenchNumber, Trn_BenchProficiency.Proficiency, Trn_BenchProficiency.SkillAllignmentID, Trn_BenchProficiency.SkillID).

I을 이중 비주얼 스튜디오이 표시되는 오류 클릭

enter image description here

이 친절하게 도와는, 이것에 문제가 무엇인가? 나는 정말로 오류를 찾을 수 없습니다.

+1

모델에 키가 있지만 데이터베이스에 키가없는 것 같습니다. – artm

답변

4

edmx 다이어그램에서 테이블을 삭제하고 다이어그램을 업데이트 한 다음 테이블을 다시 추가하십시오. 솔루션을 저장하고 다시 작성하십시오.

필자는 테이블의 관계가 변경 될 때마다 항상 그러한 문제가 발생합니다.

+0

감사합니다. 이것은 나를 위해 트릭을했습니다! –

2

Entity Framework 디자이너가 Trn_BenchProficiency.BenchNumber를 기본 열로 식별했습니다. Trn_BenchProficiency.BenchNumber에 대해이 설정을 false로 변경했습니다.

은이 단계를 수행

이동하여 .edmx 파일을 마우스 오른쪽 배경 클릭하고 매핑 정보를 선택합니다.

매핑을 편집하는 데 필요한 테이블을 클릭하면 세부 정보가 새 매핑 세부 정보 창에 나타납니다.

F4 키를 누르면 등록 정보 창이 나타납니다.

표시된 세부 정보를 변경하려면 매핑 세부 정보에서 값/속성을 클릭하고 속성 창에서 엔터티 키 값을 False로 설정할 수 있습니다.

희망이 도움이됩니다.