2

EF 4.3 코드 첫 번째 모델을 사용하여 다중 테넌트 애플리케이션을 개발했습니다. 각 테넌트는 각기 다른 데이터베이스를 보유하게됩니다. 우리는 많은 수의 입주자를 기다리고 있기 때문에 세입자간에 연결 풀을 유지하려고합니다.EF를 사용하는 다중 테넌시 및 연결 풀

EF 4.3 코드 첫 번째 모델에서이를 달성하기 위해 'AppMaster'데이터베이스를 만들고 내부적으로 SQL 공급자 만 사용하는 EFProviderWrapperToolkit을 사용하여 자체 공급자를 개발했습니다. 우리의 맞춤형 공급자는 항상 먼저 'AppMaster'데이터베이스에 연결 한 다음 해당 데이터베이스를 각 세입자 별 데이터베이스로 변경합니다. 기대했던대로 모든 것이 잘 작동했습니다.

하지만 'System.Data.Entity.Core.Common'네임 스페이스 아래에서 공급자 별 코드를 EntityFramework DLL로 이동했기 때문에 동일한 공급자가 EF6을 사용하지 않습니다.

해당 데이터베이스를 가리키는 모든 테넌트에서 동일한 데이터베이스 서버로 연결 풀을 유지 관리하는 솔루션은 무엇입니까?

답변

0

EF6의 제공 업체 모델이 변경되었습니다. 우선 EF6 공급자를 사용해야합니다. SQL Server를 사용하는 경우 EF6 SQL Server 공급자는 EF6 패키지에 포함됩니다. 랩핑 제공자는 단지 다른 제공자이므로 the document about rebuilding a provider for EF6을 읽고 따라야하며 랩핑 제공자는 계속 작동해야합니다. 이 문서에는 EF6에서 래핑 공급자에 대한 섹션이 포함되어 있습니다. 또한 EF6에서는 포장의 일부 측면을 더 쉽게 만드는 dependency injection and code-based configuration을 도입했습니다.

+0

오랫동안 외출 중 이었기 때문에 귀하의 회신에 감사하고 내 편에서 늦게 응답하여 죄송합니다. 코멘트에서 예외에 대한 자세한 정보를 제공 할 수 없으므로 아래에서 자세히 응답했습니다. – Hitesh