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 == "test@hetest.com")); 

これは、where 条件と共に使用しているクエリであり、結果を返しません。どこが間違っているのか正確にはわかりません。where 条件クエリを削除すると、mailboxname が "test@hetest.com" と等しいエントリと共に結果が返されます。

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

1 に答える 1

2

メインの LINQ リクエストに where ステートメントを含めるべきではありません。

LINQ リクエストは SQL に変換されるため、where ステートメントは後ではなく LINQ クエリの一部である必要があります。

そう

 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 == "test@hetest.com"
        orderby my.my_START_DATE descending

少しラフですが、アイデアを得る必要がありますか?

于 2013-10-03T21:58:59.273 に答える