Linq to SQL を使用してデータを取得しているため、レコードがデータベースに追加された日付に基づいて、レコードが存在するカレンダー コントロールでその日を強調表示できます。
データベース (datestamp) に日付データ型のフィールドがあります。
以下のように、これを達成するために 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.datestamp.year、f.datestamp.month、および f.datestamp.day 項目の下に青い線が表示されます。これにカーソルを合わせると、「年」は「日付のメンバーではありませんか?」と表示されます。
私は、データ型日付のdatestampと呼ばれるそのテーブルのフィールドを使用して、別のテーブルで動作する実質的に同一のコードを持っており、それは正常に動作します。
year が Date のメンバーである必要があると考える理由がわかりません。日付ではありません。明らかな何かを見逃しましたか?