我正在使用 Linq to SQL 来获取一些数据,这样我就可以在日历控件上突出显示根据记录添加到数据库的日期存在记录的日期。
我的数据库(日期戳)中有一个数据类型为日期的字段。
我声明一个 IEnumerable 来实现这一点,如下所示:
Private unapprovedFireDays As IEnumerable(Of DateTime) = Nothing
我在 page_prerender 事件中获取数据的代码如下所示:
If calFire.VisibleDate.Year <> 1 Then
baseDate = calFire.VisibleDate
Else
baseDate = DateTime.Now
End If
startDate = New DateTime(baseDate.Year, baseDate.Month, 1)
endDate = startDate.AddMonths(1).AddDays(-1)
Dim fdc As New FireAlarmDataContext()
unapprovedFireDays = (From f In fdc.FireAlarms _
Where f.DateStamp <= endDate And _
f.DateStamp >= startDate And _
f.SupervisorChecked = "0" _
Order By f.DateStamp _
Select New DateTime(f.DateStamp.year, _
f.DateStamp.month, _
f.DateStamp.day) Distinct).ToArray()
出于某种原因,我在代码的 f.datesamp.year、f.datesamp.month 和 f.datesamp.day 项下出现了蓝线。如果我将鼠标悬停在它上面,它会说“年份”不是“日期”的成员?
我使用该表中名为 datestamp 的数据类型 date 的字段与另一个表一起使用几乎相同的代码,并且工作正常。
我不确定为什么它认为 year 应该是 Date 的成员?而不是日期。我错过了什么明显的东西吗?