2014-02-25 2 views
0

이 모델 정의가 있는데이 모델을 계단식으로 삭제하려고합니다.EF 코드 첫 번째 계단식 삭제가 작동하지 않습니다.

With modelBuilder.Entity(Of dbDimension)() 
     .Property(Function(t) t.dbDimensionID). 
      HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity) 
     .HasKey(Function(t) t.dbDimensionID) 
     .Property(Function(t) t.Name). 
      HasColumnName("DimensionName") 
     .ToTable("Dimension") 

     modelBuilder.Entity(Of dbDimension)(). 
      HasRequired(Function(t) t.Model). 
      WithMany(Function(t) t.mDimensions). 
      HasForeignKey(Function(t) t.dbModelID_FK). 
      WillCascadeOnDelete(True) 


     modelBuilder.Entity(Of dbDimension)(). 
      HasMany(Function(t) t.Cubes). 
      WithMany(Function(t) t.Dimensions). 
     Map(Sub(m) 
       m.ToTable("Dimension-Cube") 
       m.MapLeftKey("dbDimensionID") 
       m.MapRightKey("dbCubeID") 
      End Sub) 

End With 

모델을 삭제하는 순간에 치수도 삭제되지만 많은 관계가 삭제되지는 않습니다. 문제를 해결하려면 어떻게해야합니까?

DB 드라이버로 Dotconnect (SQLLite)를 사용하고 있습니다.

답변

0

외래 키 지원은 기본적으로 SQLite에서 사용할 수 없습니다. 이 케이스하시기 바랍니다없는 경우

에 = 외부 키 제한 조건,

데이터 원본 = test_data.db : 당신은 당신의 연결 문자열을 "ON = 외래 키 제약 조건"을 추가하여, 예를 들어,이 기능을 활성화해야 우리가 문제를 조사하고 해결책을 찾을 수 있도록 devart * com에서 지원할 테스트 프로젝트를 보내주십시오.

+0

답장을 보내 주셔서 감사합니다. 나는 그것을 시도하고 이제 "Foreign Key Constraints = On"으로 부모를 삭제하려고 할 때 DirectCast (DirectCast (DirectCast (ex, System.Data.Entity.Infrastructure.DbUpdateException) .InnerException, System.Data.UpdateException)를 얻습니다.) .InnerException, Devart.Data.SQLite.SQLiteException) "제약 조건 위반으로 인해 중단되었습니다. 외래 키 제약 조건이 실패했습니다."} " – DataAnalyst1

+0

필요한 데이터베이스 테이블 (또는 테스트 데이터베이스)의 정의가 포함 된 작은 테스트 프로젝트를 보내주십시오. devart * com에서 지원하므로 문제를 조사하고 해결책을 찾을 수 있습니다. – Devart

관련 문제