在我們的在線計費應用程序中,我們給出了客戶收到的賬單以及他們付款的賬單摘要。實體或複雜類型不能在LINQ to Entities查詢中構造
爲了這個工作,我必須先支付款項,然後將它們與賬單相匹配。所以我做這樣的事情:
foreach (BillPaymentSummary payment in billPayments)
{
DateTime dt = payment.DueDate;
// Debug errors on this next line
var summary = (from a in db.BillHistories
where a.CustomerId == customerNumber && a.DueDate == dt && a.Type == "BILL"
select new BillSummary
{
Id = a.Id,
CustomerId = a.CustomerId,
DueDate = a.DueDate,
PreviousBalance = a.PreviousBalance.Value,
TotalBill = a.TotalBill.Value,
Type = a.Type,
IsFinalBill = a.IsFinalBill
}).SingleOrDefault();
if (summary != null)
{
summary.PayDate = payment.PaidDate;
summary.AmountPaid = payment.AmountPaid;
returnSummaries.Add(summary);
}
else
{
summary = (from a in db.BillHistories
where a.CustomerId == customerNumber && a.DueDate == payment.DueDate && a.Type == "ADJ "
select new BillSummary
{
Id = a.Id,
CustomerId = a.CustomerId,
DueDate = a.DueDate,
PreviousBalance = a.PreviousBalance.Value,
TotalBill = a.TotalBill.Value,
Type = a.Type,
IsFinalBill = a.IsFinalBill
}).SingleOrDefault();
if (summary != null)
{
summary.PayDate = payment.PaidDate;
summary.AmountPaid = payment.AmountPaid;
returnSummaries.Add(summary);
}
}
}
我一直在玩這個,但是不管我做什麼,我得到了以下錯誤消息:
實體或複雜類型「UtilityBill.Domain .Concrete.BillSummary'不能在LINQ to Entities查詢中構建。
是因爲我在查詢中運行查詢嗎?我怎樣才能解決這個錯誤?
我曾試着在谷歌搜索一個答案,看到很多答案,但他們都沒有解釋我的問題。
的可能重複[實體不能在LINQ被構造爲實體查詢](http://stackoverflow.com/questions/5325797/the-entity-不能被構建在一個LINQ實體查詢) – flipchart