2013-10-03 48 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條件並且不返回任何結果。 我完全不知道我錯在哪裏。當我刪除條件查詢返回的結果以及mailboxname等於「[email protected]」的條目時。LINQ查詢不會在任何條件下使用時返回任何結果

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

應該不是WHERE語句在主LINQ請求去,

的LINQ請求轉換爲SQL這樣的LINQ查詢的WHERE語句應該是部分沒有經過

所以

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的一部分,如果它不是,你將需要改變它 –

相關問題