我有一个名为UserPaymentHistory的实体,包含Id,UserId,Price,PaymentDate.我需要获得具有最后PaymentDate的User的那一行.
我可以这样查询:
var lastPaymentDate =
db.Repository<UserPayment>()
.Where(u => u.UserId == 1)
.Select(x => x.PaymentDate)
.Max();
Run Code Online (Sandbox Code Playgroud)
然后:
var userPayment = db.Repository<UserPayment>()
.Where(u => u.UserId == request.UserId
&& u.PaymentDate == lastPaymentDate).Single();
Run Code Online (Sandbox Code Playgroud)
有什么办法可以在一个查询中获得该记录吗?:)
PaymentDate按降序付款并选择第一个:
var userPayment = db.Repository<UserPayment>()
.Where(u => u.UserId == request.UserId)
.OrderByDescending(u => u.PaymentDate)
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)