Linq to Entity Query с ошибкой возврата Subquery - PullRequest
0 голосов
/ 23 мая 2011

У меня есть запрос Linq to Entity с подзапросом, который возвращает ошибку, и я надеюсь, что кто-нибудь сможет мне помочь.

Сообщение об ошибке:

"Unable to create a constant value of type 'SmallBusinessManager.Models.TransactionAllocation'. Only primitive types ('such as Int32, String, and Guid') are supported in this context."

Linq Query:

var query = from transactionSelect in smallBusinessManagerDB.Transaction
        select new
        {
         TransactionId = transactionSelect.TransactionId,
         TransactionNumber = transactionSelect.TransactionNumber,
         Amount = transactionSelect.Amount,
         Balance = (from t2 in smallBusinessManagerDB.TransactionAllocation
                    where t2.InvoiceTransactionId == transactionSelect.TransactionId
                    group t2 by t2.TransactionAllocationId into g
                    select g.Sum(p => p.AllocatedAmount))
};

Заранее спасибо,

Chris

1 Ответ

0 голосов
/ 23 мая 2011

Попробуйте это:

var query = 
    from transactionSelect in smallBusinessManagerDB.Transaction
    select new
    {
        TransactionId = transactionSelect.TransactionId,
        TransactionNumber = transactionSelect.TransactionNumber,
        Amount = transactionSelect.Amount,
        Balance = smallBusinessManagerDB.TransactionAllocation
            .Where(t2 => t2.InvoiceTransactionId == transactionSelect.TransactionId)
            .Sum(p => p.AllocatedAmount)
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...