2013-10-03 45 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的一部分,如果它不是,你将需要改变它 –

相关问题