관계가 고유 한 키 제약 조건을 기반으로하는 여러 테이블이 있습니다.EF 조인 및 MVC 면도기
빠른 예는 다음과 같습니다
VersionId, 버전 이름SurveyId, SurveyName, VersionId
QuestionId, QuestionName, SurveyId, VersionId
EF 현재 고유 키 제약 조건을 기반으로 관계를 지원하지 않습니다. 질문에 대한 내 색인보기에서 모델에 대한 설문 조사 이름이 포함 된 질문 표를보기 위해 설문 조인을 처리하는 가장 좋은 방법은 무엇입니까?
익명 유형이 필요합니까? db.Questions.Include ("설문 조사")는 아무 것도하지 않는 것 같습니다. 나는 linq를 사용하여 조인 된 테이블의 ViewModel을 만들 수있다. (나는 이것이 갈 방법이라고 생각한다.) 그러나 EF에 많은 것들이있다. & MVC 나는 무엇인가하기 전에 체크 할 것이라고 생각했다.
"왜 버전이 문제입니까?"라는 쉬운 대답은 질문에 연결된 버전에 의존하는 다른 테이블이 있다는 것입니다. 말하기, 응답이 질문에 적합한 버전인지 확인하려면 질문 테이블 자체에 버전이 있어야합니다. –
"Include"를 사용하면 결과 엔티티에 대한 추가 속성을 얻지 못합니다. 엔티티 프레임 워크가 고유 키 제약 조건을 인식하지 못하기 때문에 이것이 의심 스럽습니다. 따라서이를 기반으로 외래 키를 건너 뛰거나 무시합니다. –
데이터베이스 자체에 참조 제한 조건을 보장하는 복합 키가 있습니다. 귀하의 질문은 관련 데이터 만 EF 연관 관계로 만들었습니다. 그리고 그것은 마치 챔피언처럼 일했습니다! 그런 다음 스키마를 새로 고쳐야했고 생각 중이었습니다 ... 중복 관계가 데이터베이스에서 해를 끼치 지 않으므로 복합 키와 BAM 대신 단일 키에 합류하는 많은 관계를 추가했습니다. 모든 것이 연결됩니다. EF와 함께. 영감을 주셔서 감사합니다 :-) –