Linq查询跳出foreach

Linq查询跳出foreach,linq,Linq,我有一个Linq查询,我想返回注册ID(GUID)和一封电子邮件。当查询到达foreach时,它跳出值 你能告诉我这个查询应该怎么写吗 using( var fbdc = new FBDataContext() ) { var query = ( from q in fbdc.Registrations where q.BookingDateTime == DateTime.Now.AddDays( -1 ) select new

我有一个Linq查询,我想返回
注册ID
GUID
)和一封电子邮件。当查询到达
foreach
时,它跳出值

你能告诉我这个查询应该怎么写吗

using( var fbdc = new FBDataContext() )
{
    var query = ( from q in fbdc.Registrations
              where q.BookingDateTime == DateTime.Now.AddDays( -1 )
              select new
              {
                  q.RegistrationID,
                  q.Email
              } );

    foreach( var value in query )
    {
        registrationId = value.RegistrationID;
        email = value.Email;
    }
}
另外,我不确定这个查询是否有效。有没有办法测试这个?
BookingDateTime
是一个
DateTime
,所以我想这可以用,因为我只想要昨天的文件。我可以使用更精确的表达式来查询日期(2014年9月30日)吗?

您可以通过以下方式使用它:

var query = ( from q in fbdc.Registrations
          where q.BookingDateTime == DateTime.Now.AddDays( -1 )
          select new
          {
              q.RegistrationID,
              q.Email
          } ).AsEnumerable();

如果您担心时间,只需使用
查询没有问题,只需使用“q.BookingDateTime.Date==DateTime.Now.Date.AddDays(-1)”
AddDays
在L2S中不受支持谢谢工作请在枚举结果之前准确地告诉您如何调用
AsEnumerable