2016-06-21 2 views
0

SQL Server를 사용하여 내 prject에 대해 먼저 코드를 사용하고 있습니다. 나는 다른 모델을 상속받는 2 개의 클래스 모델을 가지고있다. 기본 클래스와 상속 된 클래스에 대한 dbsets가 있습니다. 기본 클래스에는 제거하려는 일부 레코드가 들어 있습니다. 관련 레코드를 제거하고 상속 된 레코드를 원합니다. 누군가 그것을 어떻게 도와 줄 수 있습니까? TY상속을 사용하여 코드 첫 번째 계단식 삭제

+0

상속을 사용하면 항상 하나의 엔티티 만 삭제하고 EF는 선택한 상속 전략에 따라 적절한 레코드를 삭제합니다. –

답변

0

계단식 삭제 용어는 다른 테이블에서 관련 행을 제거하려는 것을 의미합니다. 이것은 당신이 원하는 것과 다른 것입니다.

1) 당신은 SQL 트리거 할 일 사용할 수 있습니다 :

은 당신이 당신의 문제를 해결하는 데 도움이 될 수 있습니다 나열된 방법 아래에 주어진 SQL Server ON DELETE Trigger 이 삭제에 SQL 트리거를 정의하고이 트리거가 관련 행을 제거하는 것

2) 당신은

3) 사용할 수 IDbCommandTreeInterceptor 트리거로하지만, C#으로 https://msdn.microsoft.com/de-de/library/62xk7953(v=vs.110).aspx 같은 sqldependency를 사용할 수 있습니다 http://www.codeguru.com/csharp/csharp/soft-deleting-entities-cleanly-using-entity-framework-6-interceptors.html 쿼리를 수정하면 SQ에 전송하기 전에 L 서버

내 추천은 당신이 그것을 간단하게 유지. Repostiory 패턴을 사용하고 Delete를 사용하면 삭제 규칙을 수동으로 적용합니다 (관련 엔티티 검색 및 삭제)

관련 문제