1

我有以下查询

var query = (from b in db.StudentProgressPerDay
             where b.Student.Equals(InputStudent)
             orderby b.Date
             select b);

以下命令运行正常

var dates = query.Select(x => EntityFunctions.DiffDays(query.Min(y => y.Date), x.Date));

当我toList()在最后添加命令时,上述功能不起作用,而是给出了异常

System.Data.Entity.dll 中出现“System.NotSupportedException”类型的异常,但未在用户代码中处理

4

1 回答 1

2

EntityFunctions特定于 Linq-to-Entities。ToList创建一个常规的List,因此列表上的任何查询都将从那时起成为 Linq-to-Objects。

尝试以下操作:

var query = (from b in db.StudentProgressPerDay
                         where b.Student.Equals(InputStudent)
                         orderby b.Date
                         select b).ToList();

var dates = list.Select(x => (x.Date - query.Min(y => y.Date)).Days);
于 2014-02-02T04:37:30.173 回答