나는 두 개의 테이블이 있습니다Entity Framework에서 외부 조인을 사용하여 여러 테이블을 단일 엔터티로 매핑하는 방법은 무엇입니까?
송장을 (ID, InternalPrice, ExternalPrice)
인보이스 요약 (InvoiceID, 분산) 우리는 송장 테이블을 통해가는 과정이이 응용 프로그램에서
작성 Entity Framework의 개체 표현 그런 다음 응용 프로그램은 (InternalPrice - ExternalPrice)의 차이를 계산하고이를 Variance 열에 저장해야합니다.
엔티티 프레임 워크가 많은 수의 행 (~ 5 백만)에서이를 효율적으로 수행 할 수 있도록하기 위해 계산 결과를 개별 테이블로 분리했습니다. 이를 통해 개체 표현을 사용하여 분산 (다른 비즈니스 논리와 함께)을 계산 한 다음 'SQL 대량 삽입'을 사용하여 데이터를 데이터베이스에 빠르게 삽입 할 수 있습니다 (일반 Entity 업데이트보다 훨씬 빠름).
송장 & InvoiceSummary 테이블을 단일 엔터티 개체로 병합하고 위에 설명 된 BCP 묵인성에 대한 별도의 테이블을 유지하고 싶습니다. 그러나 InvoiceSummary에 항상 일치하는 행이있는 것은 아닙니다.
Entity Framework에서 병합 된 엔터티를 구현하기 위해 두 테이블간에 1 대 1 매핑이 필요합니다. 누구도 Entity Framework에 0 대 1 매핑을 표시 할 수있는 방법을 알고 있습니까?
엔티티 프레임 워크 솔루션을 찾을 수없는 경우 뷰를 사용하여 기본 테이블 구조를 숨길 수 있습니다. 업데이트 가능한 뷰를 지원하는 SQL 서버를 사용하고있어서 EF에 투명해야합니다. 대체 구조 솔루션도 환영합니다.
I을 내가 찾고있는 엔티티 구조를 생성하기 위해 뷰를 사용하려고 시도했다. SQL Server는 업데이트 가능한 뷰를 지원하지만 EF는 읽기 전용 엔터티 개체를 만듭니다. 불행히도 이것은 업데이트 요구가 있기 때문에 내 요구 사항에 맞지 않습니다. EDML을 수동으로 변경하여 뷰에 업데이트를 적용 할 수 있다는 것을 알고 있습니다.하지만 모델에서 데이터베이스를 업데이트 할 때마다 이러한 수동 편집을 다시 적용해야합니다. 다른 방법이 없다면 이것은 뒤로 물러 설 것 같습니다. – Matt