2014-03-31 2 views
0

JOIN이있는 MSSQL에서 다른 데이터베이스의 테이블을 교차시킬 수 있습니다. 예를 들어 :여러 데이터베이스가있는 JOIN 쿼리

select 
     PM_ID, 
     PR_Name, 
     OTD_Name 
     from SomeTable 
     inner join PRD_Det on PM_ID = PR_Id 
     inner join DataBase2.dbo.PRI_Desc on PM_Oper = O_Id 
     where PM_Id = @PM_Id 

을 나는 EntityFramework와 비슷한 만들려고 노력 해요 :

 Entities1 _Context1 = new Entities1(); 
     Entities2 _Context2 = new Entities2(); 

     var data = (from w in _Context1 .SomeTable 
        join s in _Context2.PRI_Desc on w.PRD_Det.Single().PM_Oper equals s.O_Id 
        where w.PRD_Det.Single().PM_Id == PM_ID 
        select new SomeDetails() 
         { 
          PM_ID = w.PRD_Det.Single().PM_Id, 
          PR_Name = w.PR_Name, 
          OTD_Name = s.OTD_Name 
         }).ToList(); 

내가 쿼리에

지정된 LINQ식이 참조를 포함하는 다음과 같은 오류를 받고 있어요을 그 다른 컨텍스트와 연결된 입니다.

이 문제를 어떻게 해결할 수 있습니까?

답변

1

이는 Entity Framework에서 지원되지 않습니다 (예외도 함께 표시). 동일한 컨텍스트 내의 엔티티에만 Joins을 사용할 수 있습니다.

+0

두 개의 데이터베이스에 연결하여 많은 쿼리를 작성해야합니다. 어쩌면 누군가는 EF로 두 개의 데이터베이스를 사용하는 방법을 알고있을 것입니다. – user2273044