我有一个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查询:
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))
};
提前致谢,
克里斯
答案 0 :(得分:0)
试试这个:
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)
};