0

간단한 (PartDetails) - 많은 (파트) 관계가있는 코드 첫 번째 EF 모델이 있습니다.외래 키 제약없이 엔터티 프레임 워크 탐색 속성

시스템이 오프라인 인 동안 lookup (PartDetails) 테이블이 제거되고 외부 작업에 의해 다시 채워져 제약 조건을 위반합니다.

modelBuilder.Entity<Part>().HasOptional(e => e.PartDetails) 
          .WithMany() 
          .HasForeignKey(k => k.PartDetailsId); 

나는 맵과 다른 변형을 시도했지만 모두 DB 제약 조건을 만들었습니다.

유창한 API를 사용하여 EF가 DB FK 제약 조건을 생성하지 못하게하려면 어떻게해야합니까?

이것이 최고의 아키텍처 접근 방식이 아닐지 모르지만 나는 그것에 매달렸다. Fluent API로이 작업을 수행 할 수있는 솔루션을 찾지 못하면 마이그레이션 스크립트에서 제약 조건을 수동으로 삭제하거나 삭제 작업 중에 제약 조건을 삭제하고 다시 추가합니다.

+0

도움이 될 수 있습니다. http://stackoverflow.com/questions/159038/can-foreign-key-constraints-be-temporarily-disabled-using-t-sql – Masoud

답변

0

Sql("DROP CONSTRAINT...")을 사용하여 마이그레이션 스크립트에서 제한 조건을 수동으로 삭제할 수 있습니다.

그러나 더 나은 아키텍처 접근 방법은 제거 작업 중에 제약 조건을 삭제하고 다시 추가하는 것입니다. 퍼지 작업이 문제가 실제로있는 곳인 것처럼 들립니다. 제약 조건은 매우 중요합니다.