在查询中添加toList()时出现异常? (C#)

时间:2014-02-02 02:09:02

标签: c# .net linq entity-framework notsupportedexception

我有以下查询

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”类型的异常,但未在用户代码中处理

1 个答案:

答案 0 :(得分: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);