我有一个名为UserPaymentHistory的实体,其中包含ID,UserId,Price,PaymentDate。
我需要获得该行,该行的用户最后一个PaymentDate。
我可以这样查询:
var lastPaymentDate =
db.Repository<UserPayment>()
.Where(u => u.UserId == 1)
.Select(x => x.PaymentDate)
.Max();
然后:
var userPayment = db.Repository<UserPayment>()
.Where(u => u.UserId == request.UserId
&& u.PaymentDate == lastPaymentDate).Single();
有什么办法可以在一个查询中获得该记录? :)
最佳答案
按PaymentDate降序排列付款,然后选择第一个:
var userPayment = db.Repository<UserPayment>()
.Where(u => u.UserId == request.UserId)
.OrderByDescending(u => u.PaymentDate)
.FirstOrDefault();