2017-12-04 17 views
0

두 개의 서로 다른 서버에 두 개의 연결이 있습니다. 두 서버의 데이터베이스에서 데이터에 액세스하고 싶습니다. 그것은 불가능한 (또는 최소한 복잡한) 것으로 보인다.LinqPad - 쿼리간에 데이터 공유

한 서버에서 일부 요청을 수행하고 결과를 메모리에 저장 한 다음 다른 서버의 다른 쿼리에서 해당 변수에 액세스하는 것이 더 쉽다고 생각했습니다.

나는 AppDomain.CurrentDomain.SetData("myVariable", results)AppDomain.CurrentDomain.GetData("myVariable")와뿐만 아니라 MyExtensions 정적 변수를 시도했지만 모두 작동하지 않습니다.

+0

두 서버에서 데이터베이스 구조가 동일합니까? 그렇다면'var dc2 = new UserQuery (new SqlConnection (connectionString)); '를 사용하여 두 번째 연결을 만들 수 있습니다. – sgmoore

+0

데이터베이스가 다른 서버에 있습니다 (하나의 Azure가 다른 공급자와 호스팅 됨). –

+0

데이터베이스 구조가 정확히 동일하면 두 서버에 있어야 문제가되지 않습니다. – sgmoore

답변

0

나는 똑같은 문제가 있었지만 해결책은 내가 기대했던 것보다 훨씬 간단했다.

나는 두 개의 datacontext (다른 서버에있는) 프로젝트를 가지고 있었기 때문에 나는 쿼리를하기를 원했고, 참조 (F4 쿼리, 추가 참조 -> bin 폴더 찾기 등)를 .dll에 추가했다. 내 프로젝트. config/connectionstrings 섹션을 내 프로젝트 컨텍스트에서 올바른 연결 정보로 찾고있는 connectionStrings의 이름이 포함 된 쿼리의 app.config 섹션에 추가했습니다.

이것은 내 데이터 컨텍스트에 대한 액세스뿐만 아니라 비즈니스 로직 (예 : repos/dtos/viewModels/기타 변환)의 많은 부분을 내 프로젝트에서 가져 왔습니다. 거기서, 나는 DB/서버 A에서 필요로하는 것을 움켜 잡고, 선호하는 데이터 유형 (일반적으로 List)을 넣은 다음 필요에 따라 DB/서버 B의 데이터와 상호 작용할 수 있습니다.

희망이 도움이됩니다.