次の方法でIdフィールドとNameフィールドを取得したテーブルEmployeeがあります。
var users = context.Employees.ToList()
.Select(employee => new KeyValuePair<int, string>(employee.Id,employee.Name));
その部分は正常に機能します。私の問題は、外部キーが設定されている別のテーブルAttendanceがあり、DateTime値であるLoginDateフィールドがあることです。ユーザーは複数回ログインできるので、過去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);
}
出席テーブルのクエリを実行しているときに例外が発生します。
指定されたタイプメンバー'Date'は、LINQtoEntitiesではサポートされていません。初期化子、エンティティメンバー、およびエンティティナビゲーションプロパティのみがサポートされます。