저는 다양한 대형 클라이언트가 웹 사이트에 로그인하고 다양한 페이지를 클릭하여 판매량에 따라 분석 데이터를 볼 수있는 사이트를 만드는 작업을 수행했습니다.현재 로그인 한 사용자를 기반으로 LINQ를 사용하여 다른 데이터베이스를 처리합니까?
사용자를 기반으로 여러 데이터베이스를 처리하는 가장 좋은 방법에 대한 아이디어가 있습니까? 우리는 3 개의 빅 네임 클라이언트를 갖고 있으며, 디자인 결정은 각각의 빅 클라이언트가 자신의 데이터베이스를 가지고 있다고 말하게됩니다.
clientA의 사용자가 Google 시스템에 로그인하면 해당 회사의 분석이 표시되어야하며 모델은 clientA의 데이터 컨텍스트에서 가져와야합니다. 마찬가지로 누군가가 로그인하고 데이터베이스의 clientB와 연결되어 있으면 해당 데이터 컨텍스트에서 데이터를 가져와야합니다.
가능하면 LINQ로 작성된 하나의 데이터 액세스 레이어 클래스가 있고 로그인 할 때 해당 사용자와 관련된 DataContext를 전달할 수있는 방법이 필요합니다. 아무도 이것을 할 수있는 적절하거나 깨끗한 방법을 생각할 수 있습니까?
스키마가 모든 데이터베이스에서 동일합니까? – BFree
@BFree, 내가 수행 할 쿼리가 동일 할 것입니다. 그들은 결국 두 열에 의해 다를 수 있지만 LINQ 쿼리에 관해서는 실행하지 않을 것입니다. –
@ 탱크 맨, 당신이하는 일은 데이터베이스 샤딩이라고합니다. – tuinstoel