以下代码:
我收到一个运行时错误:在LINQ to Entities中不支持指定的类型成员'Date'。只支持初始化程序、实体成员和实体导航属性。
当我在第一行添加'_db.Members.AsEnumerable()'时,它可以工作。
我的理解是,.AsEnumerable()强制查询在客户端上执行。因此,在上面的代码中,AsEnumerable运算符将查询分为两个部分:在服务器端选择和在客户端上进行其余操作(分组、筛选等)。
有人能验证我的理解是否正确吗?为什么没有.AsEnumerable()代码会失败?
code
var mids = _db.Members
.GroupBy(m => new { m.MemberID, m.CreatedDate })
.Where(m => m.All(s => s.Status == 1) && m.Key.CreatedDate.Date == DateTime.Today)
.Select(m=>m);
我收到一个运行时错误:在LINQ to Entities中不支持指定的类型成员'Date'。只支持初始化程序、实体成员和实体导航属性。
当我在第一行添加'_db.Members.AsEnumerable()'时,它可以工作。
我的理解是,.AsEnumerable()强制查询在客户端上执行。因此,在上面的代码中,AsEnumerable运算符将查询分为两个部分:在服务器端选择和在客户端上进行其余操作(分组、筛选等)。
有人能验证我的理解是否正确吗?为什么没有.AsEnumerable()代码会失败?