我试图从年份= 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'的常量值。在此上下文中仅支持基元类型或枚举类型。我按照本文中的说明进行操作:
答案 0 :(得分:0)
将您的where子句更改为:
Where(Function(o) o.InvoiceDate.Year = years)
这是由于EF如何将其转换为SQL。