Çevrimiçi faturalandırma uygulamasında, müşterinin aldığı faturaların ve yapılan ödemelerin faturalandırma özeti verilir.Varlık veya karmaşık tür, LINQ - Varlıklar sorgusuna LINQ içinde yapılamaz
Bunun işe yaraması için önce ödemeleri çekip faturaları ile eşleştirmem gerekiyor.
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);
}
}
}
Bu çalıyormuşuz, ancak hiçbir yaparsam yapayım, ben aşağıdaki hata iletisi alıyorum:
varlık veya karmaşık tip 'UtilityBill.Domain Yani böyle bir şey yapmasını .Concrete.BillSummary 'bir LINQ'ta Varlıklar sorgusuna yapılamaz.
Sorguların içinde sorguları çalıştırıyorum çünkü mi? Bu hatayı nasıl giderim?
Bir yanıt için Google'da arama yapmayı denedim ve birçok yanıtı görmeye çalıştım ancak bunların hiçbiri sorunumu açıklamıyor gibi görünüyor.
olası yinelenen [varlık Varlıkları sorgusu LINQ inşa edilemez] (http://stackoverflow.com/questions/5325797/the-entity- – flipchart