에서이 삭제 문제를 디버그하는 데 사용할 수있는 다른 옵션이 있습니까 the lightswitch forum에이 문제를 게시했는데 아무 것도 없습니다. 나는 Lightswitch를 포기하기 전에 한 번 더해볼 것이라고 생각했다.Lightswitch
잘 정의 된 관계형 제약 조건이있는 SQL Server 데이터베이스에 대해 삭제를 구현하고 있습니다. 여러 가지 이유로 이러한 관계에 대해 계단식 삭제를 지정할 수는 없습니다.
하나의 엔티티 유형을 성공적으로 삭제하고있어 내 접근법이 올바른 것 같습니다. 기업의 삭제 이벤트에서,이 같은 모든 관련 아동을 삭제 해요 :하지만 내 개체 타입의
entity.simpleChild.Delete();
foreach (var child in entity.complexChild)
{
((IEntityObject)child).Delete();
}
foreach (var child in entity.ChildWithGrandChildren)
{
foreach (var grandChild in child.Children)
{
((IEntityObject)grandChild).Delete();
}
child.Delete();
}
한 실패를. 이 엔티티에는 손자가 있지만 그 사람도 삭제합니다. 뿐만 아니라 손자의 삭제를 주석 처리하고 관련 손주가없는 엔티티를 삭제하려고하면 동일한 오류가 발생합니다. 작동하는 TSQL 스크립트와 동일한 순서로 모든 것을 삭제합니다. 그러나 런타임에이 오류가 발생합니다.
조작이 실패했습니다. 하나 이상의 외래 키 특성이 널 (NULL) 입력 가능하지 않아 관계를 변경할 수 없습니다. 관계가 변경되면 관련 외래 키 등록 정보는 널 (NULL) 값으로 설정됩니다. 외부 키가 널값을 지원하지 않으면, 새 관계가 정의되어야하고, 외부 키 등록 정보에 널이 아닌 다른 값이 지정되어야합니다. 그렇지 않으면 관련이없는 오브젝트가 h 제되어야합니다.
내가 데이터베이스를 프로파일 링 할 때 많은 선택을 볼 수 있지만 삭제 시도가 없으므로 Lightswitch에서 으로 생각하면에 문제가있을 것이라고 생각합니다. 문제가있는 곳을 파악하기 위해 무엇을 할 수 있습니까? 모델에서 다양한 관련 엔터티를 제거하면 다른 메시지가 생성되지 않습니다.
이 오류를 유발하는 코드를 게시 해주십시오. 명령, 데이터 이벤트 내부 등에 응답하여 작업중인 컨텍스트를 나타내십시오. –
간단한 코드 샘플이 추가되었습니다. 앞서 언급 한 것처럼이 코드는 엔티티의 Deleting 이벤트에서 실행됩니다. – dudeNumber4
중간 자식 엔티티를 통해 "조부모"와 관련된 엔티티로 "손주"를 정의하는 경우 게시 한 코드는 손자를 삭제하지 않습니다. –