2013-10-03 2 views
0
var iquery = (from m in dc.m_MAILBOXes 
      join o in dc.o_ORGANIZATIONs on m.m_o_ID equals o.o_ID 
      join h in dc.h_HOSTED_EXCHANGE_ACCOUNTs on o.o_ID equals h.h_o_ID 
      join my in dc.my_MAILBOX_SUMMARies on m.m_ID equals my.my_m_ID 
      orderby my.my_START_DATE descending 
      select new { MailboxName = m.m_NAME, OrgName = o.o_NAME, MailboxStatus = m.m_STATUS, 
      LatestEndDate = my.my_END_DATE, AccountStatus = h.h_STATUS }).Where(r => r.MailboxName == "[email protected]")); 

이것은 where 조건과 함께 사용하고 결과를 반환하지 않는 쿼리입니다. 나는 어디서 잘못 가고 있는지 정확히 알지 못한다. 조건 쿼리가 사서함 이름이 "[email protected]"인 항목과 함께 결과를 반환하는 위치를 제거 할 때LINQ 쿼리는 where 조건과 함께 사용할 때 결과를 반환하지 않습니다.

var result = iquery .Select(var => new MailBoxReconEntry 
            { 
             AccountStatus = var.AccountStatus, LatestEndDate = var.LatestEndDate, 
             MailboxStatus = var.MailboxStatus, 
             OrgName = var.OrgName 
            }).ToList(); 
+0

LINQ 쿼리 자체가 where 절이 아닌 이유는 무엇입니까? –

+0

시도했지만 그게 너무 작동하지 않습니다 .. – vinodn

+1

쿼리 결과에서 where 절로 복사하여 붙여 넣기를 시도 했습니까? 알지 못했던 공백이나 대문자/소문자 문제가 있기 때문에 결과가 나타나지 않을 수 있습니다. – devuxer

답변

2

해서는 안 문은 ​​주 LINQ 요청에 갈 곳,

LINQ 요청은 LINQ 쿼리의 문이 있어야 할 부분 있도록 SQL로 변환된다

하지 그래서

var iquery = (from m in dc.m_MAILBOXes 
     join o in dc.o_ORGANIZATIONs on m.m_o_ID equals o.o_ID 
     join h in dc.h_HOSTED_EXCHANGE_ACCOUNTs on o.o_ID equals h.h_o_ID 
     join my in dc.my_MAILBOX_SUMMARies on m.m_ID equals my.my_m_ID 
     where m.MailboxName == "[email protected]" 
     orderby my.my_START_DATE descending 

조금 거칠지 만 생각을해야합니까?

+0

그냥 변경하지 않으면 MailboxName이 m_MAILBOXes의 일부라고 가정합니다. –

관련 문제