我有一个 Employee 表,我通过以下方式检索了 Id 和 Name 字段:
var users = context.Employees.ToList()
.Select(employee => new KeyValuePair<int, string>(employee.Id,employee.Name));
那部分工作正常,我的问题是有另一个表出席,其中设置了外键,并且有一个字段 LoginDate 是一个 DateTime 值。一个用户可以多次登录,所以我想获得一个用户在过去 7 天内登录多少次的不同值。
foreach (var user in users)
{
var days = context.Attendances.Where(x => x.Id == user.Key && x.LoginDate.Date > DateTime.Now.AddDays(-7)).Distinct().ToList();
int count = days.Count();
_attendanceTable.Rows.Add(user.Key, user.Value, count);
}
运行出勤表查询时出现异常:
LINQ to Entities 不支持指定的类型成员“日期”。仅支持初始化程序、实体成员和实体导航属性。