2012-09-07 3 views
0

나는 다음과 같은 기관 구조 - ParameterDefinition이 -> ParameterGroup -> 매개 변수를 ParameterDefinition - 많은 것에> ParameterOperations이EF 삭제하기 위해

또한 2 FKs- 매개 변수 & ParameterOperation와 맵 테이블이 (많은 실재). 문제는 ParameterDefinition을 삭제하려고하면 먼저 ParameterGroup을 삭제하려고 시도하는데, 이는 FK 제약 조건 때문에 수행 할 수 없다는 것을 의미합니다.

내 모든 연관은 삭제 - 계단식으로 설정됩니다.

어떻게하면 FK에 따라 다른 엔티티보다 Map 엔티티에서 먼저 시작될까요?

답변

0

내가 읽은 모든 것부터, 삭제할 때 캐스케이드하도록 데이터베이스에 FK를 설정해야합니다. EDMX 파일은 업데이트 할 때이 파일을 선택하지 않으므로 EDMX 파일의 FK에서 삭제할 때 계단식을 설정해야합니다. 데이터베이스 수준과 EDMX 수준 모두에서 삭제할 때 캐스케이드를 설정 했습니까? EDMX 레벨에서만이 작업을 수행 했으므로이 글을 읽는 중이지만 잘못된 것일 수 있습니다.

나는 모든 FK를 삭제할 때 캐스케이드하도록 설정하는 것을 크게 좋아하지 않으므로 올바른 순서로 삭제해야했습니다.

+0

모든 FK에서 삭제 삭제 캐스케이드를 설정했습니다. 맵 테이블에서 무엇을 설정해야할지 모르겠습니다. 나는 FKs 중 하나를 설정 캐스케이드를 삭제하지만 지금은 EF 예외 - 스토어 업데이트, 삽입 또는 삭제 문을 예기치 않은 행 (0)의 영향을받습니다. 엔터티가로드 된 이후에 엔터티가 수정되거나 삭제되었을 수 있습니다. ObjectStateManager 항목을 새로 고칩니다. – user1616144

관련 문제