2014-03-04 4 views
0

SQL Server 2012 백엔드를 사용하는 MVC5/EF6 웹 응용 프로그램이 있습니다. 데이터베이스는 표준 관계형 데이터베이스입니다. Visual Studio (2103)에서 모델을 유형 및 관계로 분리했습니다. 예를 들어 고객 모델에는 고객, 주소 및 지방 표 등이 포함되고 주문 모델에는 주문 헤더, 주문 항목, 제품 등이 포함됩니다. 주문 모델에는 다른 문제로 인해 고객 테이블을 포함하고 그 반대의 경우도 마찬가지입니다.MVC5 EF6 데이터베이스에서 모델 업데이트 무작위 테이블의 외래 키 관계

데이터베이스에서 업데이트 모델을 사용하자 마자 외래 키 또는 단순 형식 (varchar/int)으로 테이블 (부모, 자식 또는 독립 실행 형 테이블)에 새 필드를 추가하면 문제가 발생합니다. Visual Studio는 전혀 관련이없는 외래 키에 대량의 오류를 던집니다. 예를 들어 클라이언트 중간 이름 varchar 필드를 클라이언트에 추가했지만 주문 헤더의 외래 키 링크를 사용하여 항목을 구분하고 VS를로드 할 수 없거나 유효하지 않다고 불평했습니다.

내가 (이전 stackoverflow 문서를 기반으로)이 문제를 해결할 수있는 유일한 방법은 첫 번째 모델에서 시작, TT 및 컨텍스트 파일 (순서대로) 모든 모델에서 "사용자 지정 도구 실행"실행 . 때로는 처음 작동하거나 여러 번 오류를 제거해야합니다.

아무도 나에게 무엇을 말하면서 도움이 될 수 있습니까? 나는 잘못하고 있습니까? 내 지식은 수많은 Microsoft 자습서를 기반으로하며 언젠가이 동작으로 시작하기 전까지 모든 것이 잘 작동하고있었습니다.

감사합니다.

데이비드

매우 실망 이주 후

답변

1

내가이 문제를 해결 할 수 있었던 유일한 방법은 모든 모델에 관계의 어떤 형태가있는 모든 테이블을 추가하는 것이 었습니다 - 잘못된 느낌, 잘못 보이지만 유일한 방법이었다 독립 실행 형 모델에이 문제가 없으므로 오류가 사라질 수 있습니다.

건배

데이비드

+0

나는 EF6 테이블 분할을 사용하는 문제가 있었다. 내 모델을 신중하게 분석하여 코드 분할을 허용하는 코드 마이그레이션을 얻을 수는 있지만 모델을 개별적으로 업데이트 할 수는 없습니다. 나는 내가 찾을 수있는 모든 모범을 따랐다. 그러나 그것은 계속 불평했다. 스플릿 테이블은 외래 키를 사용하기 때문에 내가 경험 한 것과 관련 될 수 있다고 생각했습니다. EF6에서 문제가 생길 수 있습니다. –

+0

Anders에게 의견을 보내 주셔서 감사합니다. 나는 그것을 확실히 들여다 볼 것이다! – David