Trên ứng dụng thanh toán trực tuyến của chúng tôi, chúng tôi cung cấp bản tóm tắt thanh toán hóa đơn mà khách hàng đã nhận và các khoản thanh toán mà họ đã thực hiện.Không thể xây dựng thực thể hoặc loại phức tạp trong truy vấn LINQ to Entities
Để làm việc này, trước tiên tôi phải rút các khoản thanh toán rồi khớp chúng với hóa đơn. Vì vậy, tôi đã làm điều gì đó như:
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);
}
}
}
Tôi đã được chơi với điều này, nhưng không có vấn đề gì tôi làm, tôi nhận được thông báo lỗi sau:
Thực thể hoặc loại phức tạp 'UtilityBill.Domain .Concrete.BillSummary 'không thể được xây dựng trong một truy vấn LINQ to Entities.
Có phải vì tôi đang chạy truy vấn trong các truy vấn không? Làm thế nào tôi có thể nhận được xung quanh lỗi này?
Tôi đã thử tìm kiếm câu trả lời của Google và thấy nhiều câu trả lời nhưng không có câu trả lời nào trong số đó có vẻ giải thích được sự cố của tôi.
thể trùng lặp của [Thực thể không thể được xây dựng trong một truy vấn LINQ to Entities] (http://stackoverflow.com/questions/5325797/the-entity- không thể-được-xây dựng-trong-một-linq-to-thực thể-truy vấn) – flipchart