我正在尝试按照主要政策和子政策(下面的policy.ID,policy.POL2)分配的保险单付款进行分组。理想情况下,我想要最后 3 笔付款、到期日、付款日期、金额和暂记金额,无论付款是否拆分。
如果分期付款,我需要将支付给主保单和副保单的金额相加,但其他三个字段应该相同,所以我不希望重复记录。
我认为这样的事情会起作用,但我得到了一个
LINQ to Entities 不支持指定的类型成员“PAYDUE”。仅支持初始化程序、实体成员和实体导航属性。
因为 PAYDUE 是一个日期时间。如您所见,我尝试使用内置的 EntityFunctions 方法,但仍然得到相同的错误
var mc = new ModelContext();
var policy = mc.Polmasts.Find("N400603");
var payments = from p in mc.Paymnts
where p.POLICY == policy.ID ||
p.POLICY == policy.POL2
orderby p.PAYPD_ descending
group p by p.PAYPD_
into g
select new
{
payduedate = EntityFunctions.TruncateTime(g.FirstOrDefault().PAYDUE),
paypaiddate = EntityFunctions.TruncateTime(g.FirstOrDefault().PAYPD),
paymentamount = g.Sum(a=>a.AMOUNT),
paysuspense = g.FirstOrDefault().SUSP
};
foreach (var payment in payments)
{
Console.WriteLine("%=========== \n PAY DUE DATE: {0} \n PAYMENT DATE: {1} \n AMOUNT: {2} \n SUSPENSE: {3}", payment.payduedate, payment.paypaiddate, payment.paymentamount, payment.paysuspense);
}