Linq对象冻结

时间:2016-04-05 18:02:00

标签: c# .net linq

我有一些LINQ to Object Query Code:

List<ePayDocumentOperation> additionalDocuments = new List<ePayDocumentOperation>();
try
{
    additionalDocuments = (from op in possibleClientDocuments
                           let senderAccountID = GetSenderAccountID(con, op)
                           where Filter.Wallets.Contains(senderAccountID)
                           select op).ToList();
}
catch (Exception ex)
{
    // some catcher
}

possibleClientDocuments 对象包含大约3 000条记录。没有那么多,但查询冻结,我没有得到结果。我没有得到任何解释。我尝试选择代码来尝试阻止,但我没有看到任何异常,同时我也没有得到结果。

如何检查查询问题以及为什么我没有得到结果?

谢谢!

P.S。

private static long GetSenderAccountID(LavaPayEntities Con, ePayDocumentOperation operation)
        {
            long result = default(long);
            // Payment
            if (operation.OperationPatternID == Chart.Operations.PS_Payment)
            {
                var ipnRequest = Con.eIPNRequests.FirstOrDefault(ir => ir.OperationID == operation.ID);
                if (ipnRequest == null) return result;
                if (ipnRequest.ClientAccountID != null && ipnRequest.ClientAccountID != 0) return (long)ipnRequest.ClientAccountID;
                var clientAccount = Con.eAccounts.FirstOrDefault(a => a.Email.Email == ipnRequest.ClientEmail);
                if (clientAccount != null)
                {
                    result = clientAccount.ID;
                }
                else
                {
                    var client = ipnRequest.Client;
                    if (client != null)
                    {
                        clientAccount = client.Accounts.FirstOrDefault();
                        if (clientAccount != null)
                        {
                            result = clientAccount.ID;
                        }
                    }
                }
            }
            // Other Operations
            else
            {
                result = operation.SenderAccountID.HasValue ? operation.SenderAccountID.Value : 0;
            }
            return result;
        }

0 个答案:

没有答案