我试图获取用户的上次登录日期,如果不存在登录记录,则返回今天的日期.到达那里我需要一些帮助.我收到以下错误,甚至没有默认值组件.
无法将类型'System.Linq.IQueryable'隐式转换为'System.DateTime?'
DateTime? logdate = from userlog in
(from userlog in db.UserLogEntities
where
userlog.UserID == 1 &&
userlog.Action == "Logon" &&
userlog.ActionTag == "Success"
select new
{
userlog.LogDate,
Dummy = "x"
})
group userlog by new { userlog.Dummy } into g
select new
{
Column1 = (DateTime?)g.Max(p => p.LogDate)
};
Run Code Online (Sandbox Code Playgroud)
以下是我提出的建议.如果有更好的方法,请告诉我.
LastLogin = (from ul in db.UserLogEntities
where ul.UserID == u.UserID &&
ul.Action == "Logon" &&
ul.ActionTag == "Success"
select ul.LogDate).DefaultIfEmpty(DateTime.Now).Max()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3422 次 |
| 最近记录: |