Entity Framework 6을 사용하여 기본 CRUD 작업을 수행합니다.이 작업은 모두 훌륭합니다. 나는 날짜 범위 내에서 개체를 선택할 수 있어야합니다. 다시 말하지만,이 개체는 전년도 데이터의 본질적 창고 인 여러 데이터베이스에 분산 될 수 있습니다. 일단 우리가 날짜 범위에서 그들을 찾고 있습니다.아카이브 데이터베이스와 함께 Entity Framework 사용
예제 모든 Foo 객체가 2015 년 1 월 1 일부터 2016 년 11 월 9 일 사이에 있어야합니다. 2015 년의 Foo 데이터는 다른 데이터베이스에 저장됩니다. 이것은 2005 년으로 거슬러 올라갑니다. 모든 스키마가 동일하지는 않습니다.
에는 11 개의 EF 프로젝트 또는 11 개의 컨텍스트와 11 개의 연결 문자열이 있습니다. 이 솔루션은 매년 아카이브를 만들 때 코드를 추가해야하는 문제가 있습니다. 이것은 해킹처럼 보인다. Azure 저장 방법으로 교환하는 것은 가까운 미래에는 옵션이 아닙니다.
더 우수한 해결책은 없습니까?
이것은 좋은 계획처럼 들립니다. 그래서 우리는 연결 문자열 (아마도 web.config?)을보고 스왑하기 위해 일종의 정규식을 살펴볼 것입니다. 내가 찾고있는 테이블에 대한 스키마는 비슷하지만 동일하지 않습니다. 유창하게 매핑하거나 EF의 규칙에 의존해서 매핑을 수행 할 수 있습니까? (+1 하겠지만 나는 <15 멍청하다.) – Jimbob
@Jimbob 런타임에 EF를 다시 매핑 할 수 없으므로 여러 개의 DbContext를 만들거나 모든 엔티티를 만들어 모든 DB를 검사 한 다음 일치하지 않는 필드에서 null을 확인하십시오. 데이터 액세스 레이어 앞에 응용 프로그램 계층을 두어 일관된 데이터보기를 제공하는 것이 좋을 것입니다. – flipchart
그래서 매년 새로운 상황을 볼 것입니까? 내가 DBA 중 하나가 우리가 날짜 매개 변수를 전달할 수있는 저장된 proc 함께이 서버 쪽 정렬 할 생각 중입니다. 그게 더 나아질까요? – Jimbob