尝试从年份= xxxx - linq到实体

时间:2016-07-14 17:34:57

标签: asp.net-mvc entity-framework

我试图从年份= xxxx的日期字段中选择不同的月份列表。我已经在这个网站上阅读了其他问题和答案,但似乎无法让我的工作。我使用实体框架和linq实体 - 这是我最新的代码:

 Function BellMonthlySummaryMonthFiltering(years As Nullable(Of Integer), monthval As Nullable(Of Integer)) As JsonResult


        If Not years Is Nothing Then

            Dim listMonths As List(Of DateTime) = db.MobileBill_Summary.Where(Function(o) o.InvoiceDate.Year.Equals(years)).Select(Function(s) s.InvoiceDate.Month).Distinct.AsEnumerable.Select(Function(t) New DateTime(1999, t, 1)).ToList
        End If

        'Return Json(months, JsonRequestBehavior.AllowGet)

    End Function

这是我得到的错误:

附加信息:无法创建类型为System.Object'的常量值。在此上下文中仅支持基元类型或枚举类型。我按照本文中的说明进行操作:

Linq to entities distinct year from datetime column

1 个答案:

答案 0 :(得分:0)

将您的where子句更改为:

Where(Function(o) o.InvoiceDate.Year = years)

这是由于EF如何将其转换为SQL。