두 테이블 Application_User 및 Application_User_Access가 있습니다. Application_User_Access 테이블에 Application_User 테이블로 외래 키 제약 조건이 있습니다.DELETE 문이 ASP.NET 동적 데이터의 REFERENCE 제약 조건과 충돌했습니다.
Application_User 테이블에서 레코드를 삭제하면 "DELETE 문이 REFERENCE 제약 조건과 충돌합니다."예외가 발생합니다.
ASP.NET 동적 데이터 엔터티 웹 응용 프로그램에서 발생합니다. 이 경우 모든 하위 레코드를 삭제하고 마지막으로 상위 레코드를 삭제하고 싶습니다. 이것을 구현하는 방법?
내 컨텍스트의 부분 클래스에서 아래 코드로 OnSavingChanges 메서드를 추가했습니다. – Anand
음, 이것이 가능한 접근 방법이지만 약간의 결함이 있습니다. 'Application_User_Access' 레코드는'Application_User' 없이는 의미가 없습니다. 이것은 비즈니스 규칙이 아니며 DB 무결성의 문제입니다. 그렇기 때문에 캐스케이드 삭제를 추가하여 제약 조건을 수정하는 것이 여기서 조금 더 효과적이라고 말할 수 있습니다. 그러나 결국 당신은 가장 편안하게 접근하는 접근 방식으로 가야합니다. – Andrei
ON DELETE CASCADE로 변경하면 작동하지 않습니다. – MindBrain