简体   繁体   English

Linq to Entity Query with Subquery return error

[英]Linq to Entity Query with Subquery returning error

I've got a Linq to Entity query with a subquery that is returning an error that i'm hoping someone will be able to help me with. 我有一个子查询的Linq to Entity查询,该查询返回错误,我希望有人能够为我提供帮助。

Error Message: 错误信息:

"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: Linq查询:

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))
};

Thanks in advance, 提前致谢,

Chris 克里斯

Try this: 尝试这个:

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)
    };

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM