2013-03-07 3 views
1

먼저 Entity Framework 5 코드를 사용하고 있습니다.IQueryable에서 다른 개체 형식을 검색하는 방법

var query = (from s in DatabaseContext.Servers 
      join c in DatabaseContext.CommandExecutionServers on s.Domain equals c.Domain 
      where s.Id == serverId && c.Active == active 
      select new { s, c }); 

의이 Server class이며, C는 CEServer class이다 : 나는이 다른 개체를 반환하는 다음 쿼리를 가지고있다.

처리해야하는 작업 때문에 s 및 c 개체를 쿼리에서 어떻게 검색합니까? 내가 좋아하는 뭔가가 필요 : 조회가 익명 클래스의 객체의 순서를 반환하기 때문에

Server server = s; // first check for nulls and 
server.CEServer = c; // check for nulls as well 

답변

1

만하고 정확한 한 쌍을 얻을 것이다 당신을 확인하는 경우, 당신은이를 사용할 수 있습니다

Server server = query.Single().s; // first check for nulls and 
server.CEServer = query.Single().c; 

없는 경우, 요 u는 예외을 얻을 것이다.

+0

감사합니다. s와 c가 null인지 어떻게 확인합니까? –

+0

질문이 명확하지 않습니다. 's'와'c'가 모두'null'인지 확인하고 싶습니까? –

+0

예. 그들은 항상 데이터를 포함하거나 포함하지 않을 수도 있습니다. 그래서 만약 s가 null이고'query.Single(). s'가 예외를 던질 것인가? –

1

를, 당신은 다음과 같이 각각의 반환 행에서 쿼리 및 액세스 sc을 열거 할 수 있습니다 :

foreach (var row in query) { 
    Server s = row.s; 
    // Check the server... 
    CEServer c = row.c; 
    // Use CEServer... 
} 
관련 문제